按照網上的教程步驟做了之后可是還是沒有出現自動錨文本呢。經過無數次調試,終于成功實現自動錨文本了。 上海網站制作這個修改目前測試適合dedecmsV5.7SP2,其他版本暫未測試。
按照網上的教程步驟做了之后可是還是沒有出現自動錨文本呢。經過無數次調試,終于成功實現自動錨文本了。 上海網站制作這個修改目前測試適合dedecmsV5.7SP2,其他版本暫未測試。
網上的教程都提到了這個步驟來修改實現:設置步驟:進入后臺 核心->批量維護->文檔關鍵詞維護 的設置。是的,可是按照這個步驟做了之后可是還是沒有出現自動錨文本呢。深入arc.archive.class.php文件研究了數個小時之后,經過無數次調試,終于成功實現自動錨文本了。
下面就來詳細說明怎么修改來實現織夢自動錨文本。首先也是按照網上的說明設置好文檔關鍵詞對應的鏈接,這里需要注意這里的鏈接有長度限制,意味著鏈接不能太長否則會被系統自動截取。之后找到/include/arc.archive.class.php文件。
找到function ReplaceKeyword($kw,&$body),
注釋函數體里面的掉這幾行代碼: if (version_compare(PHP_VERSION, '5.5.0', '>='))
{
$body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\2', $karr, $kaarr, '\1', 'www.zjzhipai.com/a/kaifajishu/2017/0319/33.html')", $body);
} else {
$body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\2', $karr, $kaarr, '\1')", $body);
}在下面加入一行:$body = _highlight($body, $karr, $kaarr, '');
再找到function _highlight($string, $words, $result, $pre)注釋函數體里的:
if (version_compare(PHP_VERSION, '5.5.0', '>='))
{
$string = $string[0];
$pre = $pre[0];
} 就完成了,重新編譯(生成)文檔就能看到自動生成的錨文本啦。
另外如果需要忽略大小寫,
在function _highlight中把$string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num);替換成$string = preg_replace("#".preg_quote($word)."#i", $result[$key], $string, $cfg_replace_num);就能忽略大小寫的自動錨文本內鏈了。
這個修改目前測試適合dedecmsV5.7SP2,其他版本暫未測試。
聲明:本站轉載自網絡,版權歸原作者所有,文章所述觀點并非翼好網絡的觀點,如有侵權請第一時間聯系我們時間進行刪除。翼好網絡是一家正規的上海網站建設公司,歡迎前來咨詢建站業務!