91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP正則表達式替換站點關鍵字鏈接后空白的問題怎么解決

發布時間:2021-07-01 10:58:38 來源:億速云 閱讀:158 作者:chen 欄目:開發技術

本篇內容主要講解“PHP正則表達式替換站點關鍵字鏈接后空白的問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PHP正則表達式替換站點關鍵字鏈接后空白的問題怎么解決”吧!

標題這樣不知道合適不合適。具體的情況是這樣的:網站要增加關鍵字鏈接功能,然后需要對文章的內容進行正則表達式匹配并替換,然后使用了preg_replace函數。替換的程序代碼如下:

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);
}

//關鍵字從長至短排序
usort($linkMap, '_sortDesc');
//var_dump($linkMap);

$tmpKwds = array(); //存放暫時被替換的子關鍵字

$k_count=0;
foreach($linkMap as $i=>$row) {
list($kwd, $url) = $row;
for($j=$i+1; $j<count($linkMap); $j++) {
$subKwd = $linkMap[$j][0];
//如果包含其他關鍵字,暫時替換成其他字符串,如 茶葉 變成 
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']; //關鍵字替換次數
$content = preg_replace('/('.$row[0].')/sui', '<a href="'.$row[1].'">'.$kwd.'</a>', $content, $th_num ,$count); // 所有的匹配項都會被替換
$k_count+=$count;
}

//把代替子關鍵字的字符串替換回來
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);
}

程序是從網上找的,然后在本地測試是正常的,本地環境為php 5.3 服務是5.2的,上傳到網上去后,提交則顯示空白,一開始考慮是PHP版本問題,以為是ereg preg的區別,替換后還是不行。后來網上看,發現有網友說調整大pcre.backtrack_limit和pcre.recursion_limit就行,我試了下,果然可以了。看來是配置問題,不過一般情況下,PHP的默認配置應該沒啥問題,我自己寫的這程序還是不夠好!

到此,相信大家對“PHP正則表達式替換站點關鍵字鏈接后空白的問題怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

剑川县| 金湖县| 石城县| 秦皇岛市| 万州区| 会宁县| 柳州市| 临洮县| 固安县| 深水埗区| 略阳县| 临武县| 上饶县| 桦甸市| 墨江| 长沙县| 孙吴县| 华亭县| 溆浦县| 平罗县| 平湖市| 龙岩市| 阜城县| 邵武市| 临湘市| 通海县| 二手房| 湖南省| 广灵县| 侯马市| 肥东县| 抚顺县| 铁岭市| 乌兰县| 白水县| 阆中市| 遵义市| 荥阳市| 潢川县| 南通市| 临夏市|