Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改] 让第一个出现的关键字加上链接。php只替换1次!

[复制链接]
benba 发表于 2012-12-25 20:34:16 | 显示全部楼层 |阅读模式
  1. <?php
  2. $a='美食Q是一个牛B的美食类网站。里面全是高清大图,美食多多、做法详细,如果你喜欢美食的话一定要去美食Q看看哦!';
  3. function str_replace_once($needle, $replace, $haystack) {
  4.                         $needle2='>'.$needle;
  5.                         $pos2 = strpos($haystack,        $needle2);       
  6.    $pos = strpos($haystack, $needle);                       
  7.    if ($pos2) {
  8.       return $haystack;
  9.    }elseif($pos === false){                               
  10.                            return '';
  11.                         }else{
  12.                                 return substr_replace($haystack, $replace, $pos, strlen($needle));                                       
  13.                                 }
  14. }
  15. echo str_replace_once("美食",'<a href="http://www.meishiq.com/">美食</a>',$a);
  16. ?>
复制代码
运行的结果就是第一个美食加上了链接。后面出现的美食关键字都没有链接。如果喜欢的人多 我就把 discuz的后台替换功能结合这个变成插件的方法分享出来。
 楼主| benba 发表于 2012-12-25 20:36:07 | 显示全部楼层
而且用我的这种方法 用户就算编辑内容也不会出现重复替换的问题哦。
回复

使用道具 举报

 楼主| benba 发表于 2012-12-25 21:34:21 | 显示全部楼层

文章内容编辑或者新加文章的时候自动加链接

打开:在148行左右找到:\source\include\portalcp\portalcp_article.php
  1. $content = getstr($_POST['content'], 0, 0, 0, 0, 1);
复制代码
在下面插入代码:
  1. require_once DISCUZ_ROOT.'/keywords.php';
  2. foreach ($keywordsmeishiq as $values){
  3.         $content=str_replace_once($values['key'],$values['ok'],$content);
  4. }
复制代码
新建一个文件保存为:keywords.php放到网址的根目录;文内容如下:
  1. <?php
  2.         function str_replace_once($needle, $replace, $haystack) {
  3.                         $needle2='>'.$needle;
  4.                         $needle3='/'.$needle;
  5.                         $pos2 = strpos($haystack,        $needle2);       
  6.                         $pos2 =$pos2?$pos2:strpos($haystack,        $needle3);       
  7.    $pos = strpos($haystack, $needle);                       
  8.    if ($pos2) {
  9.       return $haystack;
  10.    }elseif($pos === false){                               
  11.                            return $haystack;
  12.                         }else{
  13.                                 return substr_replace($haystack, $replace, $pos, strlen($needle));                                       
  14.                                 }
  15. }
  16. $keywordsmeishiq=array();
  17. $keywordsmeishiq[] = array('key'=>'美食','ok'=>'<a href="http://www.meishiq.com/">美食</a>');
  18. $keywordsmeishiq[] = array('key'=>'牛肉','ok'=>'<a href="<a href="http://www.meishiq.com/做法/牛肉/">牛肉</a>');
  19. $keywordsmeishiq[] = array('key'=>'茄子','ok'=>'<a href="<a href="http://www.meishiq.com/做法/茄子/">茄子</a>');
  20. $keywordsmeishiq[] = array('key'=>'羊肉','ok'=>'<a href="<a href="http://www.meishiq.com/做法/羊肉/">羊肉</a>');
  21. $keywordsmeishiq[] = array('key'=>'鸡肉','ok'=>'<a href="<a href="http://www.meishiq.com/做法/鸡肉/">鸡肉</a>');
  22. $keywordsmeishiq[] = array('key'=>'猪','ok'=>'<a href="<a href="http://www.meishiq.com/做法/猪肉/">猪</a>');
  23. $keywordsmeishiq[] = array('key'=>'鱼','ok'=>'<a href="<a href="http://www.meishiq.com/做法/鱼肉/">鱼</a>');
  24. $keywordsmeishiq[] = array('key'=>'家常菜','ok'=>'<a href="http://www.meishiq.com/jiangchangcai/">家常菜</a>');
  25. $keywordsmeishiq[] = array('key'=>'私房菜','ok'=>'<a href="http://www.meishiq.com/jiangchangcai/sifangcai/">私房菜</a>');
  26. ?>
复制代码
能看懂代码吧。就是把上面的改成你的地址和关键字就好了。很简单的斯密达。
回复

使用道具 举报

 楼主| benba 发表于 2012-12-25 21:35:24 | 显示全部楼层
可以直接调用论坛后台的关键关系统。。。没有人顶 就算了。。。。失望ing...
回复

使用道具 举报

偶尔郁闷 发表于 2012-12-26 14:01:48 | 显示全部楼层
有人顶
回复

使用道具 举报

sunnyyl008 发表于 2012-12-26 14:51:19 | 显示全部楼层
看起来是很有用的东西啊
回复

使用道具 举报

gzhxjkzx 发表于 2012-12-27 19:45:31 | 显示全部楼层
benba 发表于 2012-12-25 21:34
打开:在148行左右找到:\source\include\portalcp\portalcp_article.php在下面插入代码:新建一个文件保存 ...

请问后台关键词需要添加吗
回复

使用道具 举报

垃圾猫 发表于 2012-12-27 20:11:20 | 显示全部楼层
这个方法不错
回复

使用道具 举报

烛光之窗 发表于 2012-12-27 20:36:28 | 显示全部楼层
收藏了。呵呵。
回复

使用道具 举报

weincheng 发表于 2013-6-8 12:21:46 | 显示全部楼层
支持呀。楼主可不可以弄个uchome站内关键字链接呢?付点费给你呀。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-22 23:23 , Processed in 0.126657 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表