首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从html源文件中删除php短标签

从html源文件中删除php短标签
EN

Stack Overflow用户
提问于 2013-02-05 00:59:53
回答 1查看 397关注 0票数 1

我正在用curl解析一些html代码。一些站点html源代码,如:

代码语言:javascript
复制
<div id="content">
    some words
</div>
<?    
    $box_social['dimensioni']="80";
        $box_vota=array();
    $box_vota["novideo"]='';
    $box_vota["nofoto"]='';
    $box_vota["id_articolo"]='1003691';
    include($_SERVER['DOCUMENT_ROOT']."/incs/box_social.php");    
?>
<div id="footer">
   some words
</div>

如何从html源码中删除php短标签?我需要

代码语言:javascript
复制
<div id="content">
    some words
</div>
<div id="footer">
   some words
</div>

我使用的是preg_replace('/<\?(.*?)\?>/','',$html);,但php的短标记部分仍然存在。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-05 01:09:42

此正则表达式与您的大小写匹配:

代码语言:javascript
复制
$html = htmlspecialchars(preg_replace('/<\?([\w\W]*)\?>/','',$html));
$html = htmlspecialchars(preg_replace('/<\?(.*)\?>/s','',$html));

如果有多个PHP代码块,也会匹配:

代码语言:javascript
复制
$html = htmlspecialchars(preg_replace('/<\?([^\?>]*)\?>/','',$html));

来自PHP.NET

s (PCRE_DOTALL)如果设置了此修饰符,则模式中的点元字符将匹配所有字符,包括换行符。如果没有它,换行符将被排除。这个修饰符等同于Perl的/s修饰符。负的类,如^a,总是匹配换行符,与这个修饰符的设置无关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14691575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档