php用正規(guī)寫一個UBB文字編輯器
我們來看看UBB編輯器。這是網(wǎng)站當(dāng)中常用到的文字處理技術(shù)。因為使用UBB檔案編輯器,我指定的格式才能存在。我不指定的格式,使用者是無法在網(wǎng)站中展現(xiàn)的。
我們來看看效果:
<?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當(dāng)中的值變?yōu)?replace的效果 $ubb=preg_replace($pattern,$replace,$string); echo $ubb; ?>
實現(xiàn)的更高級,你可以讓使用者傳過來的是form表單中的結(jié)果,讓使用者傳值過來。
你轉(zhuǎn)換輸出成UBB格式。
下一章節(jié)我們學(xué)習(xí)了檔案系統(tǒng)的知識,再跟大家講解更加有趣的:網(wǎng)頁採集器。