[英]Regex for multi-line HTML comments (preg_match_all)
我有一个带有多个注释掉的PHP数组的html文档,例如:
<!-- Array
(
[key] => 0
)
-->
使用PHP,我需要以某种方式仅解析这些注释的HTML(还有其他需要忽略的注释)并提取内容。 我一直在尝试使用preg_match_all
但是我的正则表达式技能并不高。 有人能指出我正确的方向吗?
任何帮助深表感谢!
如何使用允许您访问注释(例如, 简单HTML DOM )然后使用strpos检查每个注释中是否有新行的HTML解析器。
$html = str_get_html('...HTML HERE...');
$comments = $html->find('comment');
foreach ( $comments as $comment ){
if ( strpos($comment, "\n") !== false ){
//process comment
}
}
这里有三个事实
<!--
”而并不表示注释(在其他任何地方都将其转义为“ &!--
”) 上面的组合意味着(lo和behold)正则表达式可用于标识HTML注释。
尝试此正则表达式: <!-- Array([\\s\\S])*?-->
。 匹配组1将包含"Array"
之后的所有内容,直至注释的关闭顺序。
您可以对找到的位进行进一步的完整性检查,以确保它们确实是您所要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.