我在下面的字符串由DOM Document
提取:
$scripts = $doc->getElementsByTagName('script');
$script = $scripts->item($i);
$string = $script->getAttribute('src');// Save the string 'jquery-3.2.0.min.js'
我有3种方法来检查这个字符串是否是一个jquery:
jquery(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1
/([\\d.]+)/jquery(?:\\.min)?\\.js\\;version:\\1
jquery.*\\.js
在这种情况下,如何使用这3个命令之一验证上述字符串?
答案 0 :(得分:3)
您可以使用xpath:
轻松选择仅作为jquery lib链接的脚本标记$xp = new DOMXPath($doc);
$nodeList = $xp->query('//script[.=""]/@src[contains(., "jquery")]');
foreach ($nodeList as $node) {
echo $node->nodeValue, PHP_EOL;
}
答案 1 :(得分:0)
preg_match - 执行正则表达式匹配
if (preg_match("/jquery.*\.js/",$string)) {
echo "Match found";
}
如果找到匹配,则会打印出Match found
。 (我只使用了你的一个正则表达式字符串)
我还假设$string
是您提取的内容,因为很难分辨。