2017-04-07 144 views
0

我想在另一个字符串中提取JSON字符串。在另一个字符串中查找JSON字符串的正则表达式

目前我正在使用file_get_contents获取完整字符串,并在字符串上运行以下模式:https://regex101.com/r/5jAucO/1 这几乎给出了多个匹配。

我想提取保存在window._sharedData但尚未能实现的JSON字符串。有人知道我该怎么做吗?

+1

你看过这个http://stackoverflow.com/questions/23429182/php-parse-html-extract-script-tags-from-body-and-inject-before-body? – borracciaBlu

回答

1

为什么不在正则表达式中包含_sharedData? _sharedData\s*=\s*\{.+\}

  • 或回顾后: (?<=_sharedData\s=)\s*\{.+\}

  • 或采取从捕获组的JSON: _sharedData\s*=\s*(\{.+\})

  • 与回顾后

的一个问题是,如果他们添加一个额外的空格_sharedData和=之间的字符不匹配。

这只适用于JSON中没有换行符。

相关问题