繁体   English   中英

PHP正则表达式将括号标记应用为粗体

[英]PHP Regular Expression to apply brackets markup as bold

我现在正在做一个项目,这是一个喊话器。 由于我禁用了所有HTML,因为人们很可能会忘记关闭标签并弄乱了所有内容,因此我想做出另一种形式,为人们在帖子中使用添加一些天赋。

我要在PHP中设置一个正则表达式,以在文本周围添加标签。 这是我想做的一个例子...

如果某人键入“ [Hello!] {所有人}怎么样?” 它会这样显示...
你好! 大家好吗?”

[]括号之间的文本将变为粗体,{}括号之间的文本将变为斜体。

有谁知道如何为此写一个正则表达式?
谢谢!

一种方法是:

$str = preg_replace('~\[([^\]]*)\]~', '<b>\\1</b>', $str);
$str = preg_replace('~{([^}]*)}~', '<i>\\1</i>', $str);

如在键盘上所见。

话虽这么说,但我不赞成创建另一种标记语言。 像BBCode一样,这是邪恶的。

BBCode是一种懒惰的程序员发明的标记语言,他们不想以正确的方式过滤HTML。 结果,我们现在有了一个难以实施的宽松“标准”。 正确过滤HTML:

http://htmlpurifier.org/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM