織夢(mèng)dedecms5.7文檔關(guān)鍵詞自動(dòng)替換內(nèi)鏈 文章自動(dòng)插入關(guān)鍵詞鏈接
網(wǎng)上關(guān)于織夢(mèng)dedecms各版本的文檔關(guān)鍵詞替換功能都無(wú)效,文章自動(dòng)插入關(guān)鍵詞超鏈接都不可以實(shí)現(xiàn)。親自測(cè)試通過(guò)以下代碼,可以修復(fù)織夢(mèng)的文檔關(guān)鍵詞并且產(chǎn)生自動(dòng)鏈接。用織夢(mèng)dedecms5.7的朋友們有福了。
織夢(mèng)管理后臺(tái)需要以下設(shè)置:
1、后臺(tái)-采集-文檔關(guān)鍵詞維護(hù) 添加關(guān)鍵詞及鏈接;
2、后臺(tái)-系統(tǒng)-核心設(shè)置 關(guān)鍵字替換(是/否)使用本功能會(huì)影響HTML生成速度:是
3、后臺(tái)-系統(tǒng)-其他選項(xiàng) 文檔內(nèi)容同一關(guān)鍵詞替換次數(shù)(0為全部替換): 設(shè)置一個(gè)數(shù)值,建議為1。
修改文件 includerc.archives.class.php
1、搜索代碼 global $cfg_cmspath;
下面增加
global $cfg_replace_num; // 文檔關(guān)鍵詞內(nèi)鏈修復(fù) 2021-02-23
2、搜索代碼 $body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\2', $karr, $kaarr, '\\1')", $body);
替換為如下代碼
// 文檔關(guān)鍵詞內(nèi)鏈修復(fù) 2021-02-23
//$body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\\2', $karr, $kaarr, '\\1')", $body);
if($cfg_replace_num > 0)
{
$query = "SELECT * FROM sky_keywords WHERE rpurl<>'' ORDER BY rank DESC";
$this->dsql->SetQuery($query);
$this->dsql->Execute();
while($row = $this->dsql->GetArray())
{
$key = trim($row['keyword']);
$key_url=trim($row['rpurl']);
$body = str_replace_limit($key, "$key", $body, $cfg_replace_num);
}
}
else
{
$query = "SELECT * FROM sky_keywords WHERE rpurl<>'' ORDER BY rank DESC";
$this->dsql->SetQuery($query);
$this->dsql->Execute();
while($row = $this->dsql->GetArray())
{
$key = trim($row['keyword']);
$key_url=trim($row['rpurl']);
$body = str_replace($key, "$key", $body);
}
}
// 文檔關(guān)鍵詞內(nèi)鏈修復(fù) 2021-02-23
3、搜索: //高亮專(zhuān)用, 替換多次是可能不能達(dá)到最多次
替換為
// 文檔關(guān)鍵詞內(nèi)鏈修復(fù) 2021-02-23
//指定替換次數(shù)功能
function str_replace_limit($search, $replace, $subject, $limit){
if(is_array($search)){
foreach($search as $k=>$v){
$search[$k] = '`'. preg_quote($search[$k], '`'). '`';
}
}else{
$search = '`'. preg_quote($search, '`'). '`';
}
return preg_replace($search, $replace, $subject, $limit);
}
// 文檔關(guān)鍵詞內(nèi)鏈修復(fù) 2021-02-23
//高亮專(zhuān)用, 替換多次時(shí)可能不能達(dá)到最多次
- 上一篇:君恒科技祝福百年大黨生日快樂(lè)! 2021/7/2
- 下一篇:2021年君恒科技新春祝福暨春節(jié)放假通知 2021/2/3