欧美在线看视频免费|成人综合在线视频免费观看完整版|欧美成人精品高清在线播放,色综合久久久高清综合久久久,久久亚洲aⅴ精品网站婷婷,福利网站在线播放

帝國CMS如何禁止內(nèi)容關(guān)鍵字替換ALT和A標(biāo)簽中的關(guān)鍵詞?

2020-10-25 16:16:09   
 

  問題的提出:

  1、關(guān)鍵字替換如何避免IMG標(biāo)簽里的ALT字段被替換

  2、在內(nèi)容中,偶爾鏈接中含有關(guān)鍵字,如何避免這個(gè)關(guān)鍵字被替換

  分析問題:

  帝國cms的關(guān)鍵字替換功能,后臺控制在:系統(tǒng)參數(shù)設(shè)置- 信息設(shè)置

blob.png

  重復(fù)替換次數(shù)為單個(gè)關(guān)鍵字在某一篇文章中的替換次數(shù)。設(shè)置為0,不限制。

  函數(shù)代碼,則實(shí)在在e/class/functions.php中,關(guān)鍵部分為:

  if(STR_IREPLACE){$newstext=empty($public_r[repkeynum])?str_ireplace($r[keyname],''.$r[keyname].'',$newstext):preg_replace('/'.$r[keyname].'/i',''.$r[keyname].'',$newstext,$public_r[repkeynum]);}else{$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],''.$r[keyname].'',$newstext):preg_replace('/'.$r[keyname].'/i',''.$r[keyname].'',$newstext,$public_r[repkeynum]);

  可見$public_r[repkeynum]就表示替換次數(shù),為0或空的時(shí)候,使用str_replace函數(shù),一股腦替換;不為空的時(shí)候,使用preg_replace函數(shù)進(jìn)行有次數(shù)限制的正則替換。

  需要排除兩種情況。假定關(guān)鍵字為“你好”。

  關(guān)鍵字在<...>中:比如

這圖不錯(cuò)你好我也好

, 比如

  關(guān)鍵字不在<...>中,但是屬于在鏈接中,比如:中藥方大全,你好你真的很好!

  情形一對應(yīng)的正則為: 你好[^<]*>,所以我們構(gòu)造“?!([^<]*>)”排除。

  性情二對應(yīng)的正則為: 你好[^<]*< a="">,所以我們構(gòu)造“?!([^<]*< a="">)”排除。

  合并后為  (?!([^<]*>)|([^<]*< a="">))。

  解決方案:

  上述文件中對應(yīng)的函數(shù)位置,修改正則即可。記住有兩個(gè)地方。

  修改前的正則為:'/'.$r[keyname].'/i'

  修改后為:'/'.$r[keyname].'(?!([^<]*>)|([^<]*< a="">))/i'

  【補(bǔ)記】因?yàn)榫庉嬈鬟^濾,您看到的上述正則表達(dá)式有誤,以圖片為準(zhǔn)

111.jpg

本站文章均為九腦科技摘自權(quán)威資料,書籍,或網(wǎng)絡(luò)原創(chuàng)文章,如有版權(quán)糾紛或者違規(guī)問題,請即刻聯(lián)系我們刪除,我們歡迎您分享,引用和轉(zhuǎn)載,我們謝絕直接復(fù)制和抄襲!感謝...
我們猜你喜歡