返回介绍

7.6 用正则写一个 UBB 文本编辑器

发布于 2025-01-30 22:11:34 字数 1147 浏览 0 评论 0 收藏 0

我们来看一下 UBB 编辑器。这是网站当中经常用到的文本处理技术。因为使用 UBB 文件编辑器,我指定的格式才能存在。我不指定的格式,用户是无法在网站中展现的。

我们来看看效果:

<?php
$string='[b]为你写诗[/b]
[i]为你做不可能事[/i]
[u]哎呀,哥不是写情诗[/u]
[color=Red]哥是在说歌词[/color]
[size=7]吴克群[/size]
[qq]1378353651[/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 格式。

哦耶,成功了!

下一章节中我们学习了文件系统的知识,再跟大家讲解更加有趣的:网页采集器。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文