公告:如果您的账号不能登录,可能是系统对您账号进行了保护,我们发现系统中存在着不安全密码,故对其重置,请您重新激活账号,对于给您造成的不便,敬请谅解!
论坛风格切换切换到宽版
  • 12435阅读
  • 0回复

高版本PHP环境下无法生成文章内链了 [复制链接]

上一主题 下一主题
离线sh495812627
 

发帖
6
贡献值
37
威望值
15
技术分
0
织梦币
0
只看楼主 倒序阅读 使用道具 0 发表于: 2017-03-24
  • 网站地址:http://www.haodquan.com
  • 版本:V5.7
  • 语言编码:UTF8
  • 是否更新最新补丁:尚未更新
  • 是否进行过修改:没有做过修改
添加文档关键字链接后在php5.5版本后无法生成文章内链了,测试在PHP5.3版本下可正常生成内链。后来追踪代码发现在arc.archives.class.php文件问题出在第1221行,如代码
  1. if (version_compare(PHP_VERSION, '5.5.0', '>='))
  2.         {        
  3.             $body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body); //个人认为问题出在这里,个人对回调函数多参数不熟悉也就不知道怎么修改完善。
  4.         } else {
  5.                 
  6.             $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body);
  7.         }

个人临时解决方法


但是无法控制次数,查手册str_replace函数第3个参数是可以设置次数的,但个人设置无效果,不知为何?