我想使用getElementsByTagName在我的HTML中查找所有脚本标记,然后使用src属性。
我使用以下代码可以正常工作,但它会忽略条件注释中的标记。
foreach ($dom->getElementsByTagName('script') as $node)
{
if ($node->hasAttribute('src'))
{
echo $node->getAttribute('src');
}
}
条件注释标记被忽略的示例:
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
有没有办法在搜索中包含这个?我找到了下面的帖子,但循环遍历所有子元素的建议并不完全理想。它们是否是其他任何解决方案?
PHP DomDocument alter conditional comments
谢谢everso!
答案 0 :(得分:0)
评论是评论,因此不在DOM中生成script
元素。没有元素==无需选择。
如果您不喜欢其他线程的解决方案,那么您可以在创建DOM对象之前尝试使用正则表达式剪切注释。但如果更可靠则要怀疑......遇到f.e.任何略有格式错误的HTML,可能会比你预期的更多(或更少)。