正規表示式 - php正規判斷a、img標籤中是否有指定關鍵字
欧阳克
欧阳克 2017-06-21 10:10:32
0
1
1161

我要實現的是關鍵字替換功能,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學習者快速成長!