【发布时间】:2010-11-04 01:14:13
【问题描述】:
我目前正在使用 PHP 和正则表达式从页面中删除所有 HTML cmets。该脚本运行良好......有点太好了。它去除了所有 cmets,包括我在 .这是我得到的:
<?php
function callback($buffer)
{
return preg_replace('/<!--(.|\s)*?-->/', '', $buffer);
}
ob_start("callback");
?>
... HTML source goes here ...
<?php ob_end_flush(); ?>
由于我的正则表达式不太热,我很难弄清楚如何修改模式以排除条件 cmets,例如:
<!--[if !IE]><!-->
<link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen" />
<!-- <![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="/css/ie7.css" type="text/css" media="screen" />
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" href="/css/ie6.css" type="text/css" media="screen" />
<![endif]-->
干杯
【问题讨论】:
标签: php regex comments conditional strip