phpcms内链的原理是用正则匹配不替换的内容,将他用base64的方式进行加密,然后再进行替换,这种方式,如果内链全是中文没有问题,但是如果出现英文或者数字,就会出现乱码

这里织梦模板网给出解决方案
修改 \caches\caches_model\caches_data\content_output.class.php 里面的_keylinks函数
function _keylinks($txt, $replacenum = '',$link_mode = 1) {
$GLOBALS['replacenum'] = $replacenum;
$txt = preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", array($this,"highlight"), $txt);
return $txt;
}并且增加函数highlight
function highlight($mathes)
{
global $replacenum;
$keywords = $this->data['keywords'];
if($keywords) $keywords = strpos(',',$keywords) === false ? explode(' ',$keywords) : explode(',',$keywords);
if($link_mode && !empty($keywords)) {
foreach($keywords as $keyword) {
$linkdatas[] = $keyword;
}
} else {
$linkdatas = getcache('keylink','commons');
}
if($linkdatas) {
$word = $replacement = array();
foreach($linkdatas as $v) {
if($link_mode && $keywords) {
$word1[] = '/(?!(<a.*?))' . preg_quote($v, '/') . '(?!.*<\/a>)/s';
$word2[] = $v;
$replacement[] = '<a href="javascript:;" onclick="show_ajax(this)" class="keylink">'.$v.'</a>';
} else {
$word1[] = '/(?!(<a.*?))' . preg_quote($v[0], '/') . '(?!.*<\/a>)/s';
$word2[] = $v[0];
$replacement[] = '<a href="'.$v[1].'" target="_blank" class="keylink">'.$v[0].'</a>';
}
}
if($replacenum != '') {
foreach ($word2 as $key => $word)
{
$mathes[0] = preg_replace("#".preg_quote($word)."#", $replacement[$key], $mathes[0], $replacenum);
}
} else {
foreach($mathes as $key => $value)
{
$mathes[$key] = str_replace($words, $replacement, $value);
}
}
}
return $mathes[0].$$mathes[1];
}
# 宜昌网站建设实训步骤
# keylinks
# php
# 嘉定区定制网站建设公司
# 泉州推广网站价格表*新
# 新疆短视频seo布局
# 宁德网站建设介绍
# 六安市网站推广排名
# 养牛营销推广方法
# 涉县网站seo优化排名
# 鄂尔多斯短视频seo
# *开发网站怎么做优化
# prettyprint
# 益阳seo排名
# 网站推广优化有哪些公司
# 网站优化需要同步吗
# 手机资讯网站建设
# 天水亚马逊关键词排名
# 陵水*营销推广方案
# 房地产seo优化获客
# 济南seo尚搜网络
# 河南省网站推广哪家好
# 网站排名优化v hoho520168推广
# keji
# PHPCMS教程
# phpcms
# 内链乱码
# 内链
# 宋体
# 就会
# 英文
# 然后再
# 出现乱码
# caches
# data
# phpcms建站内链乱码问题解决方法
# class
# content
# output
# nbsp
# model
# jpg
# function
# lang
# replacenum
# txt
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化91478 】
【
技术知识72672 】
【
云计算0 】
【
GEO优化84317 】
【
优选文章0 】
【
营销推广36048 】
【
网络运营41350 】
【
案例网站102563 】
【
AI智能45237 】
相关推荐:
织梦安全代码让网站远离劫持_织梦CMS教程
织梦kindeditor文本编辑器增加“查找替换”功能_织梦CMS教程
织梦让广告延时加载显示,网站主要内容打开后才开始加载广告_织梦CMS教程
dedecms织梦随机模板使用教程_织梦CMS教程
如何选择服务器才能高效搭建专属网站?
建站云服务器每月费用大概多少?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
织梦会员使用支付宝支付成功后接收邮件通知教程_织梦CMS教程
阿里云万网免费申请ssl证书教程_SEO优化教程
建站主机解析:虚拟主机配置与服务器选择指南
织梦数据库实现调用*二级栏目及下三级栏目方法_织梦CMS教程
织梦添加一个函数,实现任意字段调用_织梦CMS教程
apache、nginx、iis服务器设置防止织梦dedecms模板被盗_织梦CMS教程
如何通过商城自助建站源码实现零基础高效建站?
织梦cms调用图片集多张图片及注释的方法(循环输出)_织梦CMS教程
如何在IIS中新建站点并解决端口绑定冲突?
建站之星智能建站系统与服务器配置一键生成指南
织梦整合编辑器Kindeditor 4.1.4 GBK+UTF一键安装_织梦插件
织梦发布文章添加禁用词语过滤功能_织梦CMS教程
建站之星Pro快速搭建教程:模板选择与功能配置指南
织梦自定义表单提交后返回上一页的教程_织梦CMS教程
建站之星上传入口如何快速找到?
织梦在高环境PHP5.4版本上存在的后台系统设置空白问题_织梦CMS教程
织梦搜索功能禁止特定地区用户访问_织梦CMS教程
建站OpenVZ教程与优化策略:配置指南与性能提升
建站之星导航配置指南:自助建站与SEO优化全解析
宁波自助建站系统如何快速打造专业企业网站?
建站主机类型有哪些?如何正确选型
织梦后台不支持上传bmp格式图片的解决方法_织梦CMS教程
dedecms织梦网站生成静态速度慢的解决方法_织梦CMS教程
建站之星网站颜色字体与功能模块个性化配置指南
建站助手启动失败:域名解析错误还是端口冲突?
织梦list列表页调用body内容的教程_织梦CMS教程
建站之星安装后如何配置SEO及设计样式?
建站之星更换空间及服务器迁移操作步骤解析
如何在云虚拟主机上快速搭建个人网站?
织梦DedeCMS实现调用某个时间段的文章_织梦CMS教程
建站之星后台管理如何实现高效配置?
织梦让channelartlist标签里的channel支持currentstyle_织梦CMS教程
织梦网页中禁止鼠标右键各种经典代码_织梦CMS教程
dedecms织梦列表页单独调用总页数二次开发方法_织梦CMS教程
香港服务器如何优化才能显著提升网站加载速度?
织梦dedecms自定义表单前台调用显示+分页调用_织梦CMS教程
建站助手哪款好?一键生成+SEO优化免费神器推荐
如何在宝塔面板中创建新站点?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
织梦dedecms会员中心调用出需要的循环文档_织梦CMS教程
织梦自定义表单带内容验证的js代码分享_织梦CMS教程
如何在自有机房高效搭建专业网站?
建站之星导航如何优化提升用户体验?
2017-07-29
南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。