Hola, he utilizado el buscador y no he encontrado mi duda.
Estoy tratando de hacer a mano una comprobación de tags de BBCode, que compruebe que las etiquetas abiertas de cada tipo estén luego cerradas.
He intentado utilizar tanto eregi() como preg_match(), pero no consigo utilizarlas correctamente. Según he oído eregi() está deprecated.
Sería algo así:
El problema es que los primeros while de la función son infinitos, pues si existe la cadena, existe siempre. ¿Alguna idea de cómo podría arreglarlo?
Gracias.
Estoy tratando de hacer a mano una comprobación de tags de BBCode, que compruebe que las etiquetas abiertas de cada tipo estén luego cerradas.
He intentado utilizar tanto eregi() como preg_match(), pero no consigo utilizarlas correctamente. Según he oído eregi() está deprecated.
Sería algo así:
Código (php) [Seleccionar]
function str_postea($cadena1,$cadena2,$texto) {
$contador=0;
while(preg_match('/'.$cadena1.'/',$texto))
$contador++;
while(preg_match('/'.$cadena2.'/',$texto))
$contador--;
while($contador>0) {
$texto = $texto.$cadena2;
$contador--;
}
while($contador<0) {
$texto = str_replace($cadena2,"",$texto);
$contador++;
}
return $texto;
}
Código (php) [Seleccionar]
$texto = str_postea("[b]","[/b]",$texto);
El problema es que los primeros while de la función son infinitos, pues si existe la cadena, existe siempre. ¿Alguna idea de cómo podría arreglarlo?
Gracias.