我的服务器上的文件很少,我只需要帮助,只要在我的HTML中识别HTML代码,PHP函数匹配并删除下面的代码块。
<!---- 728x90 Ad START ---->
<iframe marginheight="" marginwidth="" src="728.html" height="728" width="90" frameborder="0" scrolling="no"></iframe>
<!---- END 728x90 Ad ---->
<!---- 160x600 Ad START ---->
<iframe marginheight="" marginwidth="" src="160.html" height="160" width="600" frameborder="0" scrolling="no"></iframe>
<!---- END 160x600 Ad ---->
<!---- 300x250 Ad START ---->
<iframe marginheight="" marginwidth="" src="300.html" height="300" width="150" frameborder="0" scrolling="no"></iframe>
<!---- END 300x250 Ad ---->
答案 0 :(得分:2)
通常,使用正则表达式进行HTML解析是一种不好的做法。但是,由于您的广告评论具有相似的模式,我们可以使用正则表达式删除它们。
<?php
$text = '
<!---- 728x90 Ad START ---->
<iframe marginheight="" marginwidth="" src="728.html" height="728" width="90" frameborder="0" scrolling="no"></iframe>
<!---- END 728x90 Ad ---->
HTML code here
<!---- 160x600 Ad START ---->
<iframe marginheight="" marginwidth="" src="160.html" height="160" width="600" frameborder="0" scrolling="no"></iframe>
<!---- END 160x600 Ad ---->
HTML code 2 here
<!---- 300x250 Ad START ---->
<iframe marginheight="" marginwidth="" src="300.html" height="300" width="150" frameborder="0" scrolling="no"></iframe>
<!---- END 300x250 Ad ---->
';
//s modifier ignores newlines
$text = preg_replace('/<!-.*?Ad START.*?Ad.*?->/s', '', $text);
print $text;
输出:
HTML code here
HTML code 2 here
正则表达式评论
<!- | starts with "<!-"
.*? | something
Ad START | text "Ad START"
.*? | something
Ad | text "Ad"
.*? | something
-> | ends with "->"