网上一直没找到合适的bbcode解析类
所以东抄西抄的做了一个
但是出现两问题了,请各位高手协助一下。
代码在最下
问题一:bbcode解析时遇到[code][/code]不做任何处理...比如表情/其他bbcode等不转义
问题二:如何过滤HTML?
我用BBCODE保存资料就是不想用户用HTML.....
但我测试时...发现如何手动输入:
dddd
竟然能真的有效
所以如果是插入一些js或者iframe应该也是可以的吧?
有什么方法可方止?
下面提供整个class 代码, 刚开始, 东抄西抄组装,还没优化好,请见谅
<?phpclass BBCode { public function __construct(){} private function showBBcodes($text) { // BBcode array $find = array( '~\[b\](.*?)\[/b\]~s', '~\[i\](.*?)\[/i\]~s', '~\[u\](.*?)\[/u\]~s', '~\[quote\](.*?)\[/quote\]~s', '~\[table\](.*?)\[/table\]~s', '~\[tr\](.*?)\[/tr\]~s', '~\[td\](.*?)\[/td\]~s', '~\[justify\](.*?)\[/justify\]~s', '~\[center\](.*?)\[/center\]~s', '~\[right\](.*?)\[/right\]~s', '~\[left\](.*?)\[/left\]~s', '~\[size=(.*?)\](.*?)\[/size\]~s', '~\[color=(.*?)\](.*?)\[/color\]~s', '~\[font=(.*?)\](.*?)\[/font\]~s', '~\[url=((?:ftp|https?)://.*?)\](.*?)\[/url\]~s', '~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s', '/\[img=(\d+)x(\d+)\](.*?)\[\/img\]/is', '~\[youtube\](.*?)\[/youtube\]~s', ); // HTML tags to replace BBcode $replace = array( '$1', '$1', '$1', '$1'.'pre>', '