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&amp;Site=[Discuz!]&amp;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名堂。

下一章节中我们学习了文件系统的知识,再跟年夜家解说加倍滑稽的:网页搜集器。


一连学习
||
<?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; ?>
提交重置代码
章节
条记
提问
课件
反映
捐赠

php入门教程之一周学会PHP

  • 推荐课程
  • 议论
  • 问答
  • 条记
  • 课件下载

Love WHO WHO(・ิϖ・ิ)っ

说真话,靠前面几节正则,太难背了,不如团结实例一个一个解说,原来准备看看视频能给详细解说一下,效果3分钟一带而过,甚么都没讲。。。。。。。。。。

1年前    添加回复 3华夏棋牌

回复

MR.y

华夏棋牌我就想知道,有人真的一星期看完了这一整本吗? 我体现历泉源一直看到这里,曾经破费了靠近3周了.

1年前    添加回复 1

回复

phpcn_u43670

年夜佬,666,写完这段代码直接把正则背会了。

1年前    添加回复 0

回复

KONEKO

。。。这是靠猜吗

1年前    添加回复 0华夏棋牌

回复

王昊

华夏棋牌至心看不懂,啥啊这是

1年前    添加回复 0华夏棋牌

回复

勾子

体现看不懂

1年前    添加回复 0

回复

 

preg_repalce()怎样应用反斜线?华夏棋牌

[最新 寻觅 beyond 的回复] 直接应用单引号,何须这么费事

时间:1年前

 

为甚么\\1是一连了(.*)而不是取代了???

[最新   的回复] 岂非只需replacement中可以网罗后向援用\\n这个诠释吗?也就是说结实的?

时间:1年前

()中的婚配项将放到数组中,效果是$1和\\1有甚么不合?华夏棋牌

[最新   的回复] 假定说区其他话就是:preg_replace() 不知道我们想表达的是\\11照样\\1 1(第二个1是字符串1)。以是用${1}1可让preg_replace()知道第一个1是反向援用,第二个1只是紧随着反向援用前面原文的1。华夏棋牌

时间:1年前

筱笋尖

\1 体现的是第一个婚配的内容

5个月前  0

独药

<?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&amp;Site=[Discuz!]&amp;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; ?>

11个月前  0

争渡

()中的婚配项将放到数组中,效果是$1和\\1有甚么不合?

1年前  0

课件暂不供应下载,使命职员正在整理中,前期请多关注该课程~