• 2009-11-10

    关联链接 alt、title出现BUG的解决方法 - [网站技术]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://helong.blogbus.com/logs/50891298.html

    本次修改解决了图片及链接 alt、title出现关联词的BUG问题, 完善了该功能, 修改后不会出现其他问题, 请照下面的方法修改: 打开 /include/global.func.php 查找keylinks

    function txt_urlencode($t,$str)
    {
    return $t."\"".urlencode($str)."\"";
    }
    function txt_urldecode($t,$str)
    {
    return $t."\"".urldecode($str)."\"";
    }

    function keylinks($txt, $replacenum = '')
    {
    $search = "/(alt=|title=)[\"|\'](.+?)[\"|\']/ise";
    $replace = "txt_urlencode('\\1','\\2')";
    $replace1 = "txt_urldecode('\\1','\\2')";
    $txt = preg_replace($search, $replace, $txt);

    $linkdatas = cache_read('keylink.php','',1);
    if($linkdatas)
    {
      $word = $replacement = array();
      foreach($linkdatas as $v)
      {
       $word1[] = '/'.preg_quote($v[0], '/').'/';
       $word2[] = $v[0];
       $replacement[] = '<a href="'.$v[1].'" target="_blank" class="keylink">'.$v[0].'</a>';
      }
      if($replacenum != '')
      {
       $txt = preg_replace($word1, $replacement, $txt, $replacenum);
      }
      else
      {
       $txt = str_replace($word2, $replacement, $txt);
      }
    }
    $txt = preg_replace($search, $replace1, $txt);
    return $txt;
    }

     

    红色字体部分为新增内容 按照上面的添加即可。


    收藏到:Del.icio.us