软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 建站程序 > CMS教程 > 解决phpcms关键字内联关联链接的最新方法

解决phpcms关键字内联关联链接的最新方法

  烈火网(LieHuo.Net)PHPCMS教程:之前有好几个朋友发布的“phpcms关键字内联关联链接”的解决方案,都不太好用。但是我用过之后还是感觉不完美,但是phpcms官方也没有解决,哪只能自己硬着头皮自己想办法解决。

  下面就是我修改的代码。

  找到include目录下的global.func.php文件,用软件打开后,搜索function keylinks

  先将function keylinks上面的

function _base64_encode($t,$str)
{
return $t."\"".base64_encode($str)."\"";
}
function _base64_decode($t,$str)
{
return $t."\"".base64_decode($str)."\"";
}

  去除。
  然后将
  function keylinks方法替换为我下面的方法

function keylinks($txt, $replacenum = '')
{
$search = '/<a[^>]+?\>.*?<\/a>|<img[^>]+?\>|<script[^>]+?\>.*?<\/script>|<i?frame[^>]+?\><\/i?frame>|<su[bp]>.*?<\/su[bp]>/ise';
$search1 = '/@@!@~@!@(.*?)@!@~@!@@/ise';
$replace = "'@@!@~@!@'.base64_encode('\\0').'@!@~@!@@'";
$replace1 = "base64_decode('\\1')";
$txt = preg_replace($search, $replace, $txt);
$linkdatas = cache_read('keylink.php','',1);
if($linkdatas)
{
  foreach($linkdatas as $v)
  {
   $v0 = $v[0];
   $v1 = $v[1];
   $word = '/'.preg_quote($v0, '/').'(?![A-Za-z0-9\+]*(?:>|={0,2}@!@~@!@@))/is';
   if($v1)
   {
    $replacement = '<a href="'.$v1.'" target="_blank" class="keylink">'.$v0.'</a>';
   }//liehuo.net
   else
   {
    $replacement = '<a href="'.SITE_URL.'tag.php?tag='.$v0.'" target="_blank" class="keylink">'.$v0.'</a>';
   }
   $txt = preg_replace($word, $replacement, $txt, 1);
   $txt = preg_replace($search, $replace, $txt);
  }
}
$txt = preg_replace($search1, $replace1, $txt);
$txt = str_replace('\"', '"', $txt);
return $txt;
}

    相关阅读
    栏目导航
    推荐软件