Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/08/2004, 11:27
E*M*P*I*C*A*L
 
Fecha de Ingreso: agosto-2004
Mensajes: 36
Antigüedad: 19 años, 8 meses
Puntos: 0
cuando hago $string = split("\[code\]|\[\/code\]", $string); divido toda la cadena en elmentos de un array, si no recorro el array entero con el bucle for solamente actuare sobre un elemento del array. count($string) me indica cuantes veces se va a repetir el bucle que sera igual a la cantidad de elementos con los que cuente el array. $x en este caso, es una variable que aumenta en 1 a cada vuelta del bucle y la uso para recoger los elementos del array, desde 0 hasta count($string). Vamos lo mismo que hacer:


$string[0] = highlight_string($string[0]);
$string[1] = highlight_string($string[1]);
$string[2] = highlight_string($string[2]);
$string[3] = highlight_string($string[3]);
...


split solo me divide la cadena en elmentos de un array pero no me dice que elemento es el que contiene [code] y cual no. Cada elemento del array es una parte del texto que no se repite.

str_replace -- Sustitiye todas las apariciones de la aguja en el pajar por la cadena. www.php.net

Por lo tanto donde exista [b] en una cadena pondrá <b> y lo hace. El problema que después le pasa la funcion highlight_string() y el código, tanto el que se encuentra con las etiquetas <?php y ?> como el html es mostrado en pantalla. Si uso la función nl2br(), me muestra los <br /> en cada salto de linea. El navegador no lo interpreta.

Si la función highlight_string() no estuviera los str_replace() funcionarian perfectamente interpretando el navegador el html que le metes con str_replace().

¿Tendre que usar un foreach en vez de un for?
__________________
Como aquel que calla otorga y aunque la ignorancia es sorda pude levantar la voz, más fuerte que los ladridos de los perros consentidos y que la voz del pastor.

Última edición por E*M*P*I*C*A*L; 27/08/2004 a las 11:39