Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2010
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 21
David Va por buen camino
Smile 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 setBoletin($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(
setBoletin($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
Responder Con Cita
  #2  
Antiguo 17-02-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No debería ser <br /> en lugar de <br \>?

Por otro lado, no entiendo. Si lo único que quieres es quitar la etiqueta <br /> ¿por qué no usas str_replace?

Código PHP:
echo str_replace('<br />'''$cadena); 
O, incluso, si quieres considerar variantes de la etiqueta: <br>, <br/>, <br />, puedes usar algo como:

Código PHP:
echo preg_replace('#<br */*>#'''$cadena); 
// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como separar una cadena con un delimitador radge Varios 13 05-03-2016 22:52:52
Problemas para borrar una cadena de un Tstrings drykea Varios 5 08-05-2008 15:30:31
Funcion para buscar cadena dentro de otra cadena y el numero de veces flystar Varios 3 02-07-2007 22:48:08
Separar cadena de numeros cyborgve Impresión 1 16-05-2007 06:37:31
Tengo problemas para conectar varias base de datos abe Conexión con bases de datos 4 06-04-2004 18:46:09


La franja horaria es GMT +2. Ahora son las 00:14:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi