Problema con expresión regular

MrTurbo

Buenas!

Aquí estoy otra vez con más problemas con expresiones regulares...

Necesito poder reemplazar en un texto tal que así:

Lorem ipsum dolor sit amet, **consectetur** adipiscing elit. Integer a metus turpis, a eleifend leo. Phasellus lobortis consectetur venenatis. Cras magna tortor, dictum eu sagittis id, varius quis nisl. Duis ut magna eu ligula lacinia accumsan eget in nunc. Phasellus at justo ac turpis laoreet pretium. Nulla augue velit, accumsan ut congue at, lacinia quis sem. In porta, dolor a porta tincidunt, diam ipsum aliquam mi, a **viverra eros magna** et metus. In a magna erat. Integer a nisl ut velit venenatis viverra. Pellentesque sollicitudin tellus et libero placerat cursus. Proin vitae nibh quam, vel lacinia lorem. In vitae dui dolor, mollis ultricies ligula. Nunc viverra sollicitudin erat, eu mollis ligula **vestibulum id**. Vestibulum dui massa, tincidunt ut sagittis et, feugiat vel eros. Quisque at metus metus, ac dictum magna. Cras dapibus dapibus dapibus.

Reemplazar aquello que cumpla este patrón: PALABRA o FRASE, es decir, todo aquello que vaya entre **

Simplemente necesito reemplazar el PALABRA o FRASE por algo tipo <RR>PALABRA O FRASE</RR>

A ver si podéis echarme una mano

Muchas gracias!
Saludos

C

Pues que yop recuerde sería algo así:

/*.**/

si mal no recuerdo. el * es para escapar el caracter * y que no lo tome como "cualquier cosa" dentro de la exp regular.

es decir lo que cumpla * .* * (lo que sea entre dos asteriscos)

1 respuesta
MrTurbo

#2 No, no me funciona. He probado cosas tipo

**\w+** pero solo me vale para algo tipo palabra, si lleva espacios y tal dentro pasa de mi.

Luego con **.*** si hay un párrafo que sea

sdfl skdkfs ksdf klñsfkksdfñ lñkdsf ñlñsdfl **FRASE1** asldkj sd asdkjal skd a **FRASE2** asd asd 

La expresión me coge FRASE1 asldkj sd asdkjal skd a FRASE2

¿Alguna idea? :S

LOc0

Esta es fácil MRTurbo, a ver si empollas un poquillo que tp es tan difícil ;)...

echo preg_replace_callback('/(\*{2})(.*?)\1/s', create_function('$m', 'return $m[2]?\'<RR>\'.$m[2].\'</RR>\':$m[0];'), $cadena);

Salu2 ;)

1 1 respuesta
MrTurbo

#4 Millones de gracias!

Tienes más razón que un santo, tengo que empollar un poco de expresiones regulares, es algo que por más que lo intento me cuesta un mundo :S

Un abrazo!

Usuarios habituales

  • MrTurbo
  • LOc0
  • castorcillo