【发布时间】:2016-12-05 16:47:00
【问题描述】:
如何提取 PHP 中出现的所有 window.location?我正在使用 cURL 读取一系列 URL,将其 HTML 内容存储为字符串,并希望匹配所有 window.location 出现并分别输出它们。我尝试了以下方法,但似乎不起作用。 TIA。
$str = 'window.location = "http://www.example.com";
window.location.href = "http://www.example.com";
window.location.assign("http://www.example.com");
window.location.replace("http://www.example.com");
self.location = "http://www.example.com";
top.location = "http://www.example.com";
';
preg_match('(window\\.location*)', $str,$result);
print_r($result);
【问题讨论】:
-
您需要
preg_match_all而不仅仅是preg_match。 -
您要显示网址,即
http://www.example.com还是只显示window.location? -
只有一个示例只有
window.location。是否应该找到所有这些 URL?也许window\.location\h*=\h*("|')(.*?)\1...regex101.com/r/PXYyOY/1 或更新问题应该是什么结果。 -
最好通过换行符将字符串拆分为一个数组,并对每一行进行正则表达式。这将不起作用
'(window\\.location*)'它从第一次出现到文件末尾抓取一部分。 -
见ideone.com/ZdNmLh,你需要使用
preg_match_all并将*替换为.*
标签: javascript php regex