Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

304
Views
Sistema de plantillas pequeñas, el final de /si no detecta correctamente

Si escribo solo la siguiente línea, la corta sin razón, así que...:

Hola,

Necesito ayuda para esto, estoy fuera de mi conocimiento.

Estoy atascado en un pequeño sistema TPL que debería hacer algunas declaraciones foreach y if. Hago esto en PHP, pero no sé si esto es relevante.

https://regexr.com/62ho9 aquí puedes ver mi problema. Quiero que la expresión regular termine en el segundo {/if} pero no es así. ¿Hay alguna solución posible para hacer esto con expresiones regulares?

Si no, ¿tienes una buena idea para que PHP haga lo que quiero? Porque no tengo ideas.

 (?<={if \!TEST})([\s\S]*?)(?={\/if})
 <a class="dropdown-item" href="#"> {if !TEST} {USERNAME} {if !TEST} HI {/if} klöaksdölsa {/if} asdas {if !TEST}asd{/if} </a>

Por el momento uso {if ID declaración} LOREM {/if ID} pero la solución más elegante sería sin ID :D

(PRUEBA: Hola chicos) <-- ¡¿porque lo corta todo el tiempo desde el principio?!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sí, puede usar recursividad en expresiones regulares de PHP y la expresión regular que podría usar es

 (?s){if\s+!TEST}((?:(?!{(?:if\s+!TEST|\/if)}).|(?R))*){\/if}

Vea la demostración de expresiones regulares . Solo necesita obtener el valor del Grupo 1 después de obtener una coincidencia.

Detalles :

  • (?s) - una bandera s en línea
  • {if\s+!TEST} - {if , uno o más espacios en blanco, !TEST}
  • ((?:(?!{(?:if\s+!TEST|\/if)}).|(?R))*) - Grupo 1: cero o más ocurrencias de
    • (?!{(?:if\s+!TEST|\/if)}). - cualquier carácter que no sea el punto de inicio de una secuencia de caracteres {if !TEST} y {/if}
    • |
    • (?R) - todo el patrón recursivo
  • {\/if} - una subcadena {/if} .
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!