Expresion regular
Hola amigos/as !
Tengo un problemilla con la extraccion de una serie de cadenas de un texto y espero que alguien sepa resolverlo, el problema en cuestion es el siguiente:
Supongamos que tenemos el siguiente texto
{?cuatro}
Valor de cuatro
{?cuatrocientos}
Valor de cuatrocientos
{/?}
{/?}
Creo que esta claro el ejemplo tenemos algo asi como una apertuta llamada "{?cuatro}" con su cierre "{/?}" y dentro de este esta "{?cuatrocientos}" y su cierre "{/?}".
Dicho esto la intencion es extraer, por medio de preg_match_all o alguna de las funciones de expresiones regulares, desde "{?cuatro}", texto que va entre apertura y cierre, hasta el segundo "{/?}".
Gracias de antemano.
Tengo un problemilla con la extraccion de una serie de cadenas de un texto y espero que alguien sepa resolverlo, el problema en cuestion es el siguiente:
Supongamos que tenemos el siguiente texto
{?cuatro}
Valor de cuatro
{?cuatrocientos}
Valor de cuatrocientos
{/?}
{/?}
Creo que esta claro el ejemplo tenemos algo asi como una apertuta llamada "{?cuatro}" con su cierre "{/?}" y dentro de este esta "{?cuatrocientos}" y su cierre "{/?}".
Dicho esto la intencion es extraer, por medio de preg_match_all o alguna de las funciones de expresiones regulares, desde "{?cuatro}", texto que va entre apertura y cierre, hasta el segundo "{/?}".
Gracias de antemano.
Si es que entiendo plenamente lo que quieres hacer esto generará problemas ...
En caso de que se haga
{?cuatro}valor{?cuatrocientos}otro valor{/?}{/?}
Cuál es cuál ?
Si por ejemplo deseas reemplazar {?cuatro}{/?} por
<strong> </strong>
El ejemplo mostrarÃa
<strong>valor<strong>otro valor</strong></strong>
Lo que puedes hacer es por ejemplo
{?cuatro}valor{/?cuatro}
y de esta forma el script funcionarÃa adecuadamente y se hace más o menos asà ..........
<?php
$expresion="{?cuatro}Valor {/?cuatro}";
$expresion=preg_replace("#{?cuatro}(.*?){/?cuatro}#si","<strong>\1</strong>",$expresion);
echo $expresion; // manda <strong>Valor</strong>
?>
¡ Saludos !
En caso de que se haga
{?cuatro}valor{?cuatrocientos}otro valor{/?}{/?}
Cuál es cuál ?
Si por ejemplo deseas reemplazar {?cuatro}{/?} por
<strong> </strong>
El ejemplo mostrarÃa
<strong>valor<strong>otro valor</strong></strong>
Lo que puedes hacer es por ejemplo
{?cuatro}valor{/?cuatro}
y de esta forma el script funcionarÃa adecuadamente y se hace más o menos asà ..........
<?php
$expresion="{?cuatro}Valor {/?cuatro}";
$expresion=preg_replace("#{?cuatro}(.*?){/?cuatro}#si","<strong>\1</strong>",$expresion);
echo $expresion; // manda <strong>Valor</strong>
?>
¡ Saludos !