Foros del Web » Programando para Internet » PHP »

Extraer el primer párrafo de un texto con expresiones regulares

Estas en el tema de Extraer el primer párrafo de un texto con expresiones regulares en el foro de PHP en Foros del Web. No se me dan bién las expresiones regulares. No logro hacer que esta expresión regular me extraiga los párrafos(<p>) de la cadena. Alguien me ayuda ...
  #1 (permalink)  
Antiguo 06/08/2009, 14:18
Avatar de TBS
TBS
 
Fecha de Ingreso: febrero-2007
Ubicación: Lausana
Mensajes: 69
Antigüedad: 17 años, 9 meses
Puntos: 2
Exclamación Extraer el primer párrafo de un texto con expresiones regulares

No se me dan bién las expresiones regulares. No logro hacer que esta expresión regular me extraiga los párrafos(<p>) de la cadena. Alguien me ayuda a perfeccionarla?

Hasta ahora logré que me corte el texto hasta donde aparece una "p", pero en realidad quiero el primer párrafo:

Código PHP:
function getFirstParagraph($excerpt){
    
$paragraphs preg_split('#([^<p>]+)(</p>)#mi'$excerpt);
    return 
$paragraphs[0]; 

__________________
Zend Framework + HTML5 + CSS3 + Javascript
www.dayron.ch
  #2 (permalink)  
Antiguo 06/08/2009, 14:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Extraer el primer párrafo de un texto con expresiones regulares

¿Puedes escribir algun ejemplo de lo que tienes escrito y que quieres buscar exactamente?

Mientras tanto prueba con esto

Código PHP:
Ver original
  1. <?php
  2. $t = "<p>lj lkasdklf kalsfkl;a sdkg aks gias gjkasi asjkhg oasdlka slkgwa8oi gliasngl;asig aslk lkas jklas lf aslk</p>
  3. <p>oasdl gjkasdfgoiaskjgarigjkagoaskjg asopjas giosagoi aiogasu goiasug asoiguiaosgilashlg asilgalsj gilas glka sglk</p>";
  4.  
  5. function getFirstParagraph($excerpt){
  6.     preg_match('#<p>.*?</p>#mi', $excerpt, $m);
  7.     return $m;
  8. }  
  9.  
  10. print_r(getFirstParagraph($t));
  11. ?>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/08/2009, 15:04
Avatar de TBS
TBS
 
Fecha de Ingreso: febrero-2007
Ubicación: Lausana
Mensajes: 69
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: Extraer el primer párrafo de un texto con expresiones regulares

Tengo un listado de artículos, que no poseen sumario y en su lugar necesito mostrar aunque sea al primer párrafo del contenido del artículo.

Cree la función getFirstParagraph con el objetivo de pasarle el artículo completo y me devuelva solamente el primer párrafo y yo mostrarlo a modo de sumario.

Pensaba utilizar expresiones regulares para que extrayera el primer fragmento de texto que encontrsae dentro de las etiquetas de párrafo. El caso es que siempre me lío con las expresiones regulares, por vago nunca las he estudiado a fondo :S...

Voy a probar el código que pusiste. Luego te comento que tal me fué. Muchas gracias por al respuesta.

---------------------------

Acabo de probar el código y funcionó perfecto. Muchas gracias! Prometo estudiar el uso de expresiones regulares ;)
__________________
Zend Framework + HTML5 + CSS3 + Javascript
www.dayron.ch

Última edición por TBS; 06/08/2009 a las 15:08 Razón: Probé el código de abimaelrc y funcionó
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 22:44.