欢迎来到w88模板网!
phpcms建站内链乱码问题解决方法

phpcms建站内链乱码问题解决方法

浏览次数: 0

作者: w88模板网

信息来源:

更新日期: 2017-07-29

文章简介

phpcms 内链的原理是用正则匹配不替换的内容,将他用 base64 的方式进行加密,然后再进行替换,这种方式,如果内链全是中文没有问题,但是如果出现英文或者数字,就会出现乱码 这里w88模板网给出解决方案 修改 \caches\caches_model\caches_data\cont

  • 正文开始
  • 热门文章

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

这里w88模板网给出解决方案

 修改 \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];
	}
插件下载说明

未提供下载提取码的插件,都是站长辛苦开发,需收取费用!想免费获取辛苦开发插件的请绕道!

w88二次开发QQ群

本站客服QQ号:,群号(383578617) 如果您有任何w88问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: w88模板 » phpcms建站内链乱码问题解决方法

  • DedeCMS教程QQ群
    阅读
    一、目录权限设置很重要:可以有效防范黑客上传木马文件. 如果通过 chmod 644 * -R 的话,php文件就没有权限访问了。 如果通过chmod 755 * -R 的话,php文件的权限就高了。 所以就需要分开设置目录权限和文件权限: linux 服务器权限:经常要用到的命令: fin...
  • PHPCMS v9安全设置防止网站被黑
    阅读
    相信好多人都对 phpcms 的上一页下一页显示样式不是很满意(不是 phpcms 不好,是审美观念的不同啦)。我在做模板时也遇到了这个问题,想修改一下。在论坛搜索了半天找不到答案,还有网友包括版主说是加密过的, 无法修改。 于是研究了一下。发现很简单,现...
  • {$pages}上一页下一页的个性修改方法
    阅读
    phpcms 内链的原理是用正则匹配不替换的内容,将他用 base64 的方式进行加密,然后再进行替换,这种方式,如果内链全是中文没有问题,但是如果出现英文或者数字,就会出现乱码 这里w88模板网给出解决方案 修改 \caches\caches_model\caches_data\cont...
  • phpcms建站内链乱码问题解决方法
    阅读
    如果你的是一个小型的网站,只有一级分类,不存在子分类,那很简单,上代码 {pc:getsql=SELECT*FROMv9_newsWHEREcatidin(1,3,5)ORDERBYidDESCnum=10}{loop$data$v}liahref={$v[url]}{$v[title]}/a/li{/loop}{/pc} 这里我调用了分类 ID 为 1 , 3 , 5 的最新...
  • PHPCMS调用多个分类栏目的最新文章方法
    阅读
    PHPcms v9 中提交自定义表单后默认都是回到首页的 接下来,就说下 phpcms v9 自定义表单提交后返回上一页实现方法。 1 、找到这个文件 phpcms\modules\formguide\index.php 2 、找到如下代码 showmessage(L(thanks), APP_PATH); 3 、修改成如下代码 showmess...
  • phpcms自定义表单提交后返回上一页实现方法
    阅读
    PHPCMS v9 安装 视频下载: https://www.phpcms.cn/video_lesson/lesson-2.swf 第一课时:PHPCMS V9 系统设置 课件: https://www.phpcms.cn/video_lesson/lesson-1.pptx 视频下载: https://www.phpcms.cn/video_lesson/lesson-1.flv 第二课时:PHPCMS 使用指...
  • PHPCMS V9安装使用二次开发采集视频教程
    阅读
    phpcm列表文章所有文章包括推荐或置顶文章,怎么排除掉置顶文章呢?我们可以在phpcms where 地方增加一个posids!=1语句作为排除置顶文章。PHPCMS实现文章置顶功能文章不重复的方法具体方法如下: 代码如下: {pc:content action="lists" catid="1" num="20" w...
  • PHPCMS实现文章置顶功能文章不重复的方法
    阅读
    PHPCMS V9由于采用了MVC的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文件对于我来说有点麻烦 了,而且一不小心就会出错。这里使用另外一个一劳永逸的方法,达到了方便修改访问后台入口的目的,...
  • 教你如何修改PHPCMS V9版本管理后台路径
    阅读
    phpcms v9默认在文章后面没有新的功能了,那么我们希望判断指定日期内的文章显示为新图标了,那么要如何来实现,下面来和小勇一起来看看吧. 方法一:当天文章后面显示 new图标: {if time()-$r[updatetime]24*3600}new{/if} 如果是三天内的文章:3*24*3600 方法二:...
  • phpcms v9实现文章后面添加new图标
    阅读
    在PHPCMS中{$url}用来获取当前文章网址,在动态页或伪静态中能够正确获取,但是当我们把内页设置为纯静态时,{$url}就失效了。 在文章页,我们希望在文章末尾加上 本文地址,该怎么办呢? 请在模板当中使用 {go($catid,$id)} $catid栏目ID,$id文章ID,可以...
收藏此文 打赏本站

如本文对您有帮助,就请w88模板网抽根烟吧!

  • 支付宝打赏
    phpcms v9获取当前文章的地址或url的方法
    微信打赏
    支付宝扫描打赏
phpcms自定义表单提交后返回上一页实现方法
« 上一篇 2017年09月21日
PHPCMS v9安全设置防止网站被黑
下一篇 » 2017年07月10日

精彩评论

微信扫描打赏
有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐精品模板更多
更新时间:2018-04-24

人已经看过了!

工程建筑职业学校类w88. w88优德(带手机端)
更新时间:2019-11-07

人已经看过了!

w88. w88优德素材下载站带筛选带会员中心免签微信支付宝支付
更新时间:2019-09-05

人已经看过了!

w88. w88优德素材源码下载站带会员中心带手机模板
更新时间:2019-09-19

人已经看过了!

HTML5响应式自适应文化传媒公司
更新时间:2017-08-10

人已经看过了!

响应式智能家居网站源码 家具展示装潢类w88. w88优德(自适应手机版)demo14
更新时间:2019-09-19

人已经看过了!