tengo una cadena separada cada parte por la etiqueta <br \>, quiero crear un array donde el elemento al que se le hace un split es la mencionada etiqueta.
Luego añado unas tablas antes y después para que el texto me salga como quiero, pero reg_split no me funciona bien con <br \>, pues no me sustrae esta etiqueta:
pongo el código:
Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<?php
function setCadena($cadena){
$antes = '<table width="100%" border="3" cellspacing="0" cellpadding="0"><tr><td width="24%" valign="top"><div align="center"><img src="images/foto1.jpg" width="127" height="99"></div></td>
<td width="76%" valign="top"><table width="91%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" class="miclase"><div align="left">';
$despues = '</div></td></tr></table></td></tr><tr><td colspan="2"><div align="center"><img src="images/foto2.jpg" width="100%" height="7"></div></td></tr></table>';
if(ereg('<br />',$cadena)){
//$rdo = preg_split("<br />",$cadena);
//$rdo = preg_split('/<[^>]*[^\/]>/i', $cadena, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
$rdo = preg_split('[<br \>]', $cadena, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
$output = '';
for($i=0;$i<count($rdo);$i++){
//$output .= $antes . $rdo[$i] . $despues;
$output .= $rdo[$i];
}
return $output;
}else{
return $cadena;
}
}
$cadena = '{hola}<br \>{¿Como estas?}<br \>{Yo bien}<br \>';
echo(setCadena($cadena));
?>
<body>
</body>
</html>
{hola}
{¿Cómo estas?}
{Yo bien}
el código fuente, sería {hola]<br \>, etc...
pero quiero que sea, {hola}{¿Cómo estas?}{Yo bien} , es decir sin la etiqueta <br \>
Esto sería el primer paso, luego si veis la línea comentada : $output .= $antes . $rdo[$i] . $despues; , hay tampoco sale la tabla, tal y como quiero y es el proposito. He intentado las opciones comentadas y alguna más pero no termina de salirme.
Saludos