Foros del Web » Programando para Internet » PHP »

Regex: sustituir texto

Estas en el tema de Regex: sustituir texto en el foro de PHP en Foros del Web. Hola a todos, Cargo una cadena con html, cuando finalizo esa carga quiero añadir un "<br />" al principio y al final de los enlaces. ...
  #1 (permalink)  
Antiguo 11/12/2014, 10:18
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santander
Mensajes: 81
Antigüedad: 20 años, 4 meses
Puntos: 1
Regex: sustituir texto

Hola a todos,

Cargo una cadena con html, cuando finalizo esa carga quiero añadir un "<br />" al principio y al final de los enlaces. Es decir, cambiar "<a ......>.....</a>" por "<br /><a ......>.....</a><br />"

Uso "%(<a.*?>)%is" para encontrar la tag inicio del enlace pero no se como decirle al preg_replace que lo sustituya por "<br /><a.*?>". La parte final de los enlaces es más facil....:).

Gracias.

PD: Desconozco cuando estoy cargando un enlace en la cadena, por ello lo tengo que hacer una vez esta está completa. Como si estuviera importando un texto con código html que desconozco.
  #2 (permalink)  
Antiguo 11/12/2014, 10:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Regex: sustituir texto

Para eso son las capturas, pues en la cadena de reemplazo puedes hacer referencia a ellas usando \N donde N es el número de captura.

Ejemplo:
Código PHP:
Ver original
  1. echo preg_replace('/(<a\s+)/', '<br>\1', '<a href="#">link</a>');
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: html, regex, sustituir
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 12:28.