Quiero escribir dos funciones basadas en un mismo concepto...
NOTA: OMITIR EL CARACTER "*" (ASTERISCO).
Una seria, al encontrar "[*B]" en el texto, que lo cambie por un "<b>", y luego lo mismo para cerrarlo, al encontrar "[*/b]", lo cambiaria por un "</b>".
Dejando asi el texto encerrado en [*b]negrita[*/b], como lo hace el foro :)
Y luego utilizar este codigo para las url... cuando encuentra un "ESPACIO, HTTP://blabla, ESPACIO", que lo convierta en un: "<a href='TEXTO SIN LOS ESPACIOS'>TEXTO</a>".
¿Hay alguna forma simple para ahcer esto? ¿Existe alguna funcion como "STRREPLACE" que me reemplace caracteres?
Esto es lo que tengo al momento y funciona:
Código PHP:
$texto = "El perro loco se volvio [*B]loco[*/b] se comio un choripan.";
$cont = 0;
while ($i <= strlen($texto) ) {
if ($texto[$i] == "[") {
$i++;
if ($texto[$i] == "b" || $texto[$i] == "B"){
$i++;
if ($texto[$i] == "]") {
echo "Encontre el [b] !";
}
}
}
$i++;
}
echo $texto;
1. Si no existe una funcion que reemplace, tengo que usar substr y cortar todo... posible pero mas arduo.
2. No puedo dejar de usar el while con el anidado de if's, ya que tendria que saber CUANDO aparece un [*b], para saber que si termina el WHILE y no aparecio [*/B], lo deberia forzar.
GRACIAS POR SUS COMENTARIOS !
Saludos.