Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2011, 11:23
Alorse
 
Fecha de Ingreso: octubre-2009
Ubicación: Manizales, Colombia
Mensajes: 5
Antigüedad: 14 años, 6 meses
Puntos: 1
Pregunta Buscar expresión regular excepto en etiquetas

Hola,
Lo que pretendo hacer es buscar cualquier expresión que se encuentre en llaves { } con la función preg_match_all exepto si estas se encuentran dentro de la etiqueta [ code ] [/ code ]

Dejo un ejemplo:

Código PHP:
$message 'Cadena: {Alta Vista [Bot]}
Cadena: {admin_2}
Cadena: {user}
Cadena: {MAYUSCULA}
Cadena: {123456}
Cadena: [code]{asd}[/code]
Cadena: {TEST user}'
;

$usr preg_match_all('/{(.+)}/'$message$list);

$out print_r($listtrue);

echo 
"<pre>$out</pre>"
Ya logre sacar todas la expresiones dentro de las llaves { } con:
Código:
/{(.+)}/
Esto me imprime:
Código:
Array
(
    [0] => Array
        (
            [0] => {Alta Vista [Bot]}
            [1] => {admin_2}
            [2] => {user}
            [3] => {MAYUSCULA}
            [4] => {123456}
            [5] => {asd}
            [6] => {TEST user}
        )

    [1] => Array
        (
            [0] => Alta Vista [Bot]
            [1] => admin_2
            [2] => user
            [3] => MAYUSCULA
            [4] => 123456
            [5] => asd
            [6] => TEST user
        )

)
Pero ahora como le digo que no me tome lo que esta dentro de [ code ] [/ code ] ?

Esa es mi duda, si alguien me puede ayudar a solucionarla me seria de muchísima ayuda.
Gracias de antemano.