Мне нужно открыть JS-файл с PHP, найти json var в этом файле и преобразовать его в php-массив.Проанализируйте сценарий JS с использованием PHP и REGEX для получения значения переменной JS
Прямо сейчас я не могу понять, какое регулярное выражение использовать.
// get the js file
$file = file_get_contents ("http://pve.proxmox.com/pve2-api-doc/apidoc.js");
// extract the json content of var pveapi
if (preg_match ("#pveapi = ({[^}]*})#", $file, $infoJson)) {
$arrJson = json_decode ($infoJson [1], true);
}
// shows nothing so far :((
print_r($arrJson);
Я нашел несколько примеров для этого, но никто не будет работать для меня. Любой, кто имеет приличные навыки в regex, мог бы мне помочь?
Бен
изменения: добавлена часть файла ЯШ:
var pveapi = [
{
"info" : {
"GET" : {
"parameters" : {
"additionalProperties" : 0
},
"permissions" : {
"user" : "all"
},
"returns" : {
"type" : "array",
"items" : {
"type" : "object",
"properties" : {}
},
"links" : [
{
"rel" : "child",
"href" : "{name}"
}
]
},
"name" : "index",
"method" : "GET",
"description" : "Cluster index."
}
}
}
];
Ext.onReady(function() { ... }
try '" #pveapi \ s * = \ s * ({[^}] *}) # "' –
спасибо за ответ, я попробовал, но он все тот же, а не совпадение. – Asterix34
"/pveapi\s*\=\s*([^Ext\.onReady]*)/" – hanshenrik