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($list, true);
echo "<pre>$out</pre>";
Código:
Esto me imprime:/{(.+)}/
Código:
Pero ahora como le digo que no me tome lo que esta dentro de [ code ] [/ code ] ?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 ) )
Esa es mi duda, si alguien me puede ayudar a solucionarla me seria de muchísima ayuda.
Gracias de antemano.