php用正規寫一個UBB文字編輯器
我們來看看UBB編輯器。這是網站當中常用到的文字處理技術。因為使用UBB檔案編輯器,我指定的格式才能存在。我不指定的格式,使用者是無法在網站中展現的。
我們來看看效果:
<?php
$string='[b]为你写诗[/b]
[i]为你做不可能事[/i]
[u]哎呀,哥不是写情诗[/u]
[color=Red]哥是在说歌词[/color]
[size=7]吴克群[/size]
[qq]123123123[/qq]';
//匹配UBB字符
$pattern=array(
'/\[b\](.*)\[\/b\]/i',
'/\[i\](.*)\[\/i\]/iU',
'/\[u\](.*?)\[\/u\]/i',
'/\[color=(.*?)\](.*?)\[\/color\]/',
'/\[size=(\d)\](.*?)\[\/size\]/',
'/\[qq\](\d{5,12})\[\/qq\]/',
);
//需要替换的UBB字符
$replace=array(
'<b>\1</b><br />',
'<i>\1</i><br />',
'<u>\1</u><br />',
'<font color="\1">\2</font><br />',
'<font size="\1">\2</font><br />',
'<a href="http://wpa.qq.com/msgrd?V=1&Uin=\1&Site=[Discuz!]&Menu=yes"
target="_blank"><img src="http://wpa.qq.com/pa?p=1:\1:1" border="0"></a>',
);
//使用正则匹配$string,将$string当中的值变为$replace的效果
$ubb=preg_replace($pattern,$replace,$string);
echo $ubb;
?>實現的更高級,你可以讓使用者傳過來的是form表單中的結果,讓使用者傳值過來。
你轉換輸出成UBB格式。
下一章節我們學習了檔案系統的知識,再跟大家講解更加有趣的:網頁採集器。


