GIGANTIC 文字列内で、json にクリーンアップしようとしています。スクリプトを壊すこのようなものに遭遇しました(通常、同じソースから複数回)
{
29646191: [bunchofjson]
}
すべての出現を置き換えるために私ができる preg_replace はありますか?
{
stringofrandomlysizednumbers: [anything]
}
と
{
"string...numbers": [anything]
}
機能していないもののリスト:
$output = preg_replace('/([^\\\])":([0-9]{10,})(,|})/', '$1":"$2"$3', $output);
$output = preg_replace('/("\w+"):(\d+)(.\d+)?/', '\\1:"\\2\\3"', $output);
$output = preg_replace('/("\w+"):(\d+)/', '\\1:"\\2"', $output);
$output = preg_replace('/(\d+):/', '"$1":', $output);
$output = preg_replace('/("\w+"):(\d+)(.\d+)?/', '\\1:"\\2\\3"', $output);
$output = preg_replace('/:\s*(\-?\d+(\.\d+)?([e|E][\-|\+]\d+)?)/', ': "$1"', $output);
$output = json_decode($output, true, 512, JSON_BIGINT_AS_STRING));
(理想的なケースでは、連想配列にjsonデコードします)