[英]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.