设为首页收藏本站

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 845|回复: 1

让archiver解析UBB代码

  [复制链接]
发表于 2011-8-5 00:03:21 | 显示全部楼层 |阅读模式
代码发之前说的话:为了研究让archiver解析UBB代码,我学PHP二个月了.累...终于知道原来是用正则表达式来替换的.这代码公布出来给有用的朋友.

修改文件:\archiver\thread.inc.php

找到代码:
  1. if($thread['jammer']) {
  2.    $post['message'] =  preg_replace("/\<br \/\>/e", "jammer()", $post['message']);
  3.   }
复制代码
下面加:
  1. //UBB解析开始
  2.   $neter_mo=array(
  3.   "/\[b\](.+?)\[\/b\]/is",//解释加粗B标签
  4.   "/\[i\](.+?)\[\/i\]/is",//解释I标签
  5.   "/\[url=(.+?)\](.+?)\[\/url\]/is",//解释URL
  6.   "/\[url](.+?)\[\/url\]/is",//解释URL
  7.   "/\[img\](.+?)\[\/img\]/is",//解释图片
  8.   "/\[color=(#?[0-9a-f]{6}|[a-z]{3,})\](.+?)\[\/color\]/is",//解释字体颜色
  9. );
  10. $neter_str=array(
  11.   "<b>\\1</b>",//替换为加粗B标签
  12.   "<i>\\1</i>",//替换为I标签
  13.   "<a href=\\1>\\2</a>",//替换为URL
  14.   "<a href="\\1" rel='external nofollow'>\\1</a>",//给在论坛乱发连接的人整个nofllow
  15.   "<img src="\\1" />",//替换为图片
  16.   "<font color="\\2\\1">\\2</font>",); //替换为字体颜色
  17.   $post['message'] =  preg_replace($neter_mo,$neter_str,$post['message']);
  18.   //UBB解析OK啦
复制代码

短短的几行代码是我二个月的学习成果啊....分享给优化的朋友!!

演示地址:http://www.neter8.com/archiver/tid-77111.html

发表于 2011-11-4 18:07:54 | 显示全部楼层
谢谢你的发言` 非常有意义













发表于 2011-12-16 15:03:59
好帖还是要收藏,请继续












策一知产
支持 反对

发表于 2012-1-13 10:30:52
百年不遇的好帖子,不得不顶












商标争议
支持 反对

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

本版积分规则

手机版|小黑屋|BC Morning Website ( Best Deal Inc. 001 )  

GMT-8, 2025-8-25 15:13 , Processed in 0.019382 second(s), 16 queries .

Supported by Best Deal Online X3.5

© 2001-2025 Discuz! Team.

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