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