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:1:9f7b504269]{asd}[/code:1:9f7b504269] Cadena: {TEST user}'; $usr = preg_match_all('/{(.+)}/', $message, $list); $out = print_r($list, true); 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.