正则表达式 - php正则判断a、img标签中是否存在指定关键词
欧阳克
欧阳克 2017-06-21 10:10:32
0
1
1165

我要实现的是关键词替换功能,a、img包含关键词不能替换。
假如【例子】是关键词,关键词出现分这3种情况,不能替换,不然就会破坏html结构

<a href="#" title="这是一个例子而已">这是一个例子而已</a>
<img src="#" alt="我是例子呀">

<a href="#" title="这是一个例子">这是一个例子</a>
<img src="#" alt="我是例子">

<a href="#" title="例子而已">例子而已</a>
<img src="#" alt="例子呀">

被破坏的<img src="#" alt="破坏了<a href="#">例子</a>破坏的可能性有多大?"/>

<?php
    function findword($word,$html){
        $str_reg = '(<a[^>]+>)(.*)('.$word.')(.*)(<\/a[^>]*>)';
        $str_reg .= '|(<img)(.*?)('.$word.')(.*?)(>)' ;
        if(preg_match("/$str_reg/",$html)){
            return true;
        }else{
            return false;
        }
    }
?>

写了个蹩脚函数。貌似不对。

欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

全部回复(1)
ringa_lee

你先把破坏规则的做一下置换,比如htmlspecialchars处理,替换完再置换回去就好了啊

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!