【发布时间】:2012-05-12 09:08:01
【问题描述】:
我试图让用户能够在 CMS 中使用一些额外的“标签”“标记”某些内容部分,如果您愿意,这些部分会在内容呈现时被翻译,例如粗体页面。
类似于{strong:Lorum ipsum dolar} 的内容,然后将使用<strong>Lorum ipsum dolar</strong> 包裹文本。
我试图为此找出正则表达式,但我不好。我从网站上抓取了一些 html 替换脚本,它们不是很有帮助,至少,我不知道要更改什么:$。
任何帮助将不胜感激。
注意
我在 C# 中这样做。
【问题讨论】:
-
你想用什么语言来实现正则表达式? php?
-
这似乎会带来整个世界的无效标签问题。
-
$str = q({strong:Lorum ipsum dolar}); $str =~ m/\{(\w+):(.+?)\}/; $str = "<$1>$2</$1>";糟糕的解决方案,但有效(perl) -
@loldop:除非并且直到他们开始嵌套这些东西,如
{strong:Lor{i:e}m ipsum dol{i:o}r}。使用 Perl 对正则表达式的扩展,这甚至是可能的——在“纯”正则表达式中,您只能在某个预定的嵌套深度内进行。 -
与其重新发明轮子,为什么不让他们编写 HTML 并禁止某些标签或使用 BBCode?已经有很多可用的解析选项和一些用于 HTML 和 BBCode 的 WYSIWYG 编辑器。