Foros del Web » Programando para Internet » PHP »

Tengo problemas con reg_split, para separar una cadena

Estas en el tema de Tengo problemas con reg_split, para separar una cadena en el foro de PHP en Foros del Web. Hola tengo una cadena separada cada parte por la etiqueta <br \>, quiero crear un array donde el elemento al que se le hace un ...
  #1 (permalink)  
Antiguo 17/02/2010, 09:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 5 meses
Puntos: 1
Tengo problemas con reg_split, para separar una cadena

Hola

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&iacute;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, -1PREG_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>
Cómo veis el resultado de la función es:
{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
  #2 (permalink)  
Antiguo 17/02/2010, 09:55
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Tengo problemas con reg_split, para separar una cadena

reg_split ???
para empezar es preg_split()

por lo demas necesitas delimitadores.. ya q es una expresion regular

preg_split('[<br \>]',
preg_split('/<br \>/',

los br no terminan con \ la etiqueta es <br />

preg_split('/\<br \/\>/',
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:34.