function ReplaceKeyword($linkDefs,$conten " /> 久久综合激情,精品伦精品一区二区三区视频,影音先锋中文在线视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP正則表達(dá)式替換站點(diǎn)關(guān)鍵字鏈接后空白的解決方法

標(biāo)題這樣不知道合適不合適。具體的情況是這樣的:網(wǎng)站要增加關(guān)鍵字鏈接功能,然后需要對(duì)文章的內(nèi)容進(jìn)行正則表達(dá)式匹配并替換,然后使用了preg_replace函數(shù)。替換的程序代碼如下:

function ReplaceKeyword($linkDefs,$content){$linkMap = array();/*foreach($linkDefs as $row) {$linkMap[] = explode(',', $row);}*/$linkMap = $linkDefs;//把原有的鏈接替換成文字foreach($linkMap as $row) {$content = preg_replace('/(<a.*?>/s*)('.$row[0].')(/s*<//a>)/sui', $row[0], $content);}//關(guān)鍵字從長(zhǎng)至短排序usort($linkMap, '_sortDesc');//var_dump($linkMap);$tmpKwds = array(); //存放暫時(shí)被替換的子關(guān)鍵字$k_count=0;foreach($linkMap as $i=>$row) {list($kwd, $url) = $row;for($j=$i+1; $j<count($linkMap); $j++) {$subKwd = $linkMap[$j][0];//如果包含其他關(guān)鍵字,暫時(shí)替換成其他字符串,如 茶葉 變成 if(strpos($kwd, $subKwd) !== false) {$tmpKwd = '';$kwd = str_replace($subKwd, $tmpKwd, $kwd);$tmpKwds[$tmpKwd] = $subKwd;}}//把文字替換成鏈接require(MLEINC.'/config/globals.config.php');$th_num = $config['keyword_num']; //關(guān)鍵字替換次數(shù)$content = preg_replace('/('.$row[0].')/sui', '<a href="'.$row[1].'">'.$kwd.'</a>', $content, $th_num ,$count); // 所有的匹配項(xiàng)都會(huì)被替換$k_count+=$count;}//把代替子關(guān)鍵字的字符串替換回來(lái)foreach($tmpKwds as $tmp=>$kwd) {$content = str_replace($tmp, $kwd, $content);}$result = array($content,$k_count);return $result;unset($result);unset($tmp);unset($tmpKwds);unset($kwd);unset($count);unset($config);unset($linkMap);unset($linkDefs);unset($tmpKwd);unset($content);unset($th_num);unset($row);unset($k_count);}

程序是從網(wǎng)上找的,然后在本地測(cè)試是正常的,本地環(huán)境為php 5.3 服務(wù)是5.2的,上傳到網(wǎng)上去后,提交則顯示空白,一開(kāi)始考慮是php版本問(wèn)題,以為是ereg preg的區(qū)別,替換后還是不行。后來(lái)網(wǎng)上看,發(fā)現(xiàn)有網(wǎng)友說(shuō)調(diào)整大pcre.backtrack_limit和pcre.recursion_limit就行,我試了下,果然可以了。看來(lái)是配置問(wèn)題,不過(guò)一般情況下,php的默認(rèn)配置應(yīng)該沒(méi)啥問(wèn)題,我自己寫(xiě)的這程序還是不夠好!

php技術(shù)PHP正則表達(dá)式替換站點(diǎn)關(guān)鍵字鏈接后空白的解決方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 灵寿县| 贵港市| 南木林县| 合山市| 会宁县| 自贡市| 商河县| 蒲城县| 崇阳县| 永平县| 清水县| 舟曲县| 勐海县| 长泰县| 九龙城区| 香格里拉县| 化隆| 周口市| 铁岭县| 宁陕县| 平原县| 巍山| 永丰县| 武隆县| 平安县| 彭阳县| 霍城县| 西盟| 合作市| 吉首市| 兴义市| 抚宁县| 高清| 沽源县| 林芝县| 淮南市| 通榆县| 万山特区| 泰兴市| 九龙坡区| 应用必备|