簡體   English   中英

PHP刪除導致DOMXPath失敗的條件注釋

[英]PHP remove conditional comments which cause DOMXPath fail

條件注釋,例如:

<!--[if lt IE 7 ]><!--> <html lang="hi" class="ie ie6"> <!--<![endif]-->

原因

$doc->loadHTML($content);   
$xpath = new DOMXPath($doc);

不能正常工作。 任何准備好的代碼將其刪除?

如果無法解析HTML,則可以使用正則表達式,例如以下示例:

$str = "aa<!--[if lt IE 7 ]><!--> <html lang=\"hi\" class=\"ie ie6\"> <!--<![endif]-->bb cc";
$pattern = "/(<!--[if\s[lg]+t\sIE\s[0-9]+\s]><!-->)(.*)(<!--<!\[endif\]-->)/"; 
$str = preg_replace($pattern, '', $str);    
echo $str;

或保留條件標簽的內容:

$str = preg_replace($pattern, '$2', $str);
echo $str;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM