Tengo este json
Código JSON:
Resulta que por medio de php.. consigo el contenido... e introduzco el campo "name" en una RegEx.Ver original
[ { "name": "include", "file": "tagInclude.php" }, { "name": "\\$", "file": "tagVariable.php" }, { "name": "foreach", "file": "tagForeach.php" } ]
Código PHP:
private $pattern = array(
'@<(\/?(?:',
')(?:[^<>]+)*\/?)>@ims'
);
private $current = null;
...
$json = file_get_contents(file);
$json = utf8_encode($json);
$json = json_decode($json, true);
...
foreach($json as $tag) {
...
$this->current = implode($tag, $this->pattern);
...
}
Cita:
Cuando llego al preg_replace, no me funcion el 2do regex (\$). Ahora si lo hago manualmente, si cambio $tag del foreach, por $tag = "\\$";.. si funciona..@<(\/?(?:include)(?:[^<>]+)*\/?)>@ims
@<(\/?(?:\$)(?:[^<>]+)*\/?)>@ims
@<(\/?(?:foreach)(?:[^<>]+)*\/?)>@ims
@<(\/?(?:\$)(?:[^<>]+)*\/?)>@ims
@<(\/?(?:foreach)(?:[^<>]+)*\/?)>@ims
Ya probe con addslashes tambien.. no tengo idea de porque nada sirve :s
Ven algo mal en la logica del codigo? Porque los regex salen bien.
Saludos y gracias por su tiempo