Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/09/2008, 11:54
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Sustituir caracter de una cadena por código html, no otra cadena "<td>"...

hay que ver la funcion... por que en realidad, no hay forma de que PHP "escape" por si solo entidades HTML, ya que tu codigo puede hacerlo y tu ni en cuenta....

la otra, es mas sencilla... para lograrlo debes o puedes usar mas funciones, no simples replace...

Código PHP:
<?php

function test1($match)
{
  
$tmp explode('|'$match[1]);
  
$tmp join('</td><td>'$tmp); // OK ?

/*
observa que la salida es siempre
una fila... incluso, lleva una sola 
columna... para permitir a la
funcion "test1" completar
con logia el patron
*/
  
return "<tr><td>$tmp</td></tr>";
}

$str '[tabla]
[fila]Columna1Fila1 | Columna2Fila1 | Columna3Fila1[/fila]
[fila]Columna1Fila2 | Columna2Fila2 | Columna3Fila2[/fila]
[/tabla]'
;

// esta debe ser tu expresion... supongo (s = entre lineas)
$test preg_replace('/\[tabla\](.+?)\[\/tabla\]/is''<table>\\1</table>'$str);

// por filas (m = multilinea)
$test preg_replace_callback('/\[fila\](.+?)\[\/fila\]/im''test1'$test);


// resultado
echo "$test <hr /> <pre>$str</pre>";

?>
suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.