Comunidad de diseño web y desarrollo en internet online

Comodín para la función explode

Citar            
MensajeEscrito el 27 Sep 2009 02:15 am
Como estan? me surgió una duda que no pude encontrar en Google o bien no supe como buscarla.
Estoy intentando separar fragmentos de un párrafo mediante explode y quisiera utilizar tags para separar los fragmentos de texto el problema es que entre tags hay información que hay que omitir o que va variando. Lo muestro con un ejemplo:

Código PHP :

$Texto = 'mi frase uno <strong>mi frase dos</strong> mi frase tres <strong>mi frase cuatro</strong>';

$Frases = explode('<strong>%</strong>', $Texto);


Lo que quiero lograr es poder separar las frases que no estén en negrita y utilizar las etiquetas <strong> para realizar las comparaciones el hecho es que estas etiquetas entre medio tiene contenido que va cambiando.. por lo que mi duda es hay algún carácter o símbolo que me sirva como comodín el cual indique que todo lo que este dentro de estas etiquetas?

Gracias y saludos! :)

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 27 Sep 2009 03:50 am
bueno visitate esta page muestra un ejemplo y todo su codigo listo
para configurar y poner a correr

http://www.danterobles.com.mx/?p=102

Por scowtmaster

21 de clabLevel



Genero:Masculino  

Rep Dom

firefox
Citar            
MensajeEscrito el 27 Sep 2009 03:58 am
¿Pero al final qué debería contener $Frases en el ejemplo que has puesto?, o sea, ¿cuál es el resultado que esperas obtener?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Sep 2009 05:53 am
Gracias por responder scowtmaster pero no entendí para que me serviría el contenido que se encuentra en el enlace.

DriverOp en realidad la variable frases debería tener cada una de las frases excepto las que están en negrita la idea es poder eliminar todo lo que esta entre negritas.

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 27 Sep 2009 07:16 am

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 27 Sep 2009 08:34 am

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 27 Sep 2009 05:36 pm
Aun no eh podido intente utilizar preg_split (porque en realidad necesito el arrary de las frases que no estan en negrita) y no pude hcerlo funcionar.

pongo un caso mas concreto a ver si alguien me puede orientar como hacerlo

tengo por un lado una variable con este contenido:

Código PHP :

$Parrafo = '<b>1</b>Mi frase uno <b>2</b> Mi frase dos <b>3</b> Mi frase tres';


lo que yo quiero obtener es un array con esta estructura:

Código PHP :

Array
(
    [0] => Array
        (
            [0] => 1 // Numero que se encuentra entre <b></b>
            [1] => Mi frase uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => Mi frase dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => Mi frase tres
        )

)


Nota extra: El texto no lo puedo modificar ya que lo único que hago es cargarlo...
alguien me puede dar una mano? :)

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

firefox
Citar            
MensajeEscrito el 27 Sep 2009 05:52 pm
No se si te sirva esto:


Código PHP :

<?php

$Parrafo = '<b>1</b>Mi frase uno <b>2</b> Mi frase dos <b>3</b> Mi frase tres';


$matches = array();

$tag = "<b>";
$tagClose = "</b>";
$tag = preg_quote($tag, "/");
$tagClose = preg_quote($tagClose, "/");

preg_match_all("/$tag(.+?)$tagClose/is", $Parrafo, $matches);


echo "<pre>";
print_r($matches);
echo "</pre>";


$sep = "***"; // aqui coloca algo que sepas que no se puede encontrar...
$Parrafo = str_replace($matches[0], $sep, $Parrafo);
$Parrafo= trim($Parrafo,$sep);
$frases = explode($sep, $Parrafo);
echo "<pre>";
print_r($frases);
echo "</pre>";

?>


Es una solución alterna, puede fallar... pero bueno alli te doy una idea.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 27 Sep 2009 06:46 pm
con esta expresion selecionas la etiqueta y su contenido, aprovechando de cambiarla por lo que quieras usar para separar la frase, luego aplicas split

Código PHP :

$expresionRegular='<b>[a-z|0-9]</b>';

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.