如何在所见即所得编辑器中使用方括号来发布处理文本


How to use square brackets in a WYSIWYG editor to post-process text?

在电子邮件地址发布到我的用户网站之前,我需要对其进行模糊处理,以防止垃圾邮件机器人抓取它们。然而,有些用户喜欢使用mailto链接(违背了我的建议,但他们会为所欲为),我的模糊功能破坏了mailto。因此,我想让网站管理员更容易对一些电子邮件地址进行混淆,但对其他电子邮件地址则不然。

我想使用这样的语法:

"Some text, some more text, an [emailaddress@example.com], and more text."

哪个将输出

"Some text, some more text, an emailaddress<span class='obfuscate' style='display:none;'>@</span>example.com, and more text."

有没有一种标准的方法可以让PHP只评估和处理方括号中的文本?我在Wordpress代码中看到过类似的符号,例如

[contact-form-7] 

在所见即所得编辑器中键入,并将作为一个完整的联系人表单呈现给公众。那么我该怎么做呢?

我使用了这个正则表达式:[[''w.]+@[''w]+.[''w]+]来查找方括号中的电子邮件地址,并将其替换为模糊字符串。