我有一个带有换行符的文本体,并且我想替换所有换行符的实例,但不在和<br />
之间。标签是[something][~something]
,其中something
可以是任何东西。替换所有不在标签内的换行符实例
对不起,不包括我已经尝试过,但我不知道如何得到一个正则表达式来匹配不在其他东西内的东西。这甚至有可能吗?
我有一个带有换行符的文本体,并且我想替换所有换行符的实例,但不在和<br />
之间。标签是[something][~something]
,其中something
可以是任何东西。替换所有不在标签内的换行符实例
对不起,不包括我已经尝试过,但我不知道如何得到一个正则表达式来匹配不在其他东西内的东西。这甚至有可能吗?
虽然记住的是,你不应该解析XML/HTML用正则表达式,这就是一个很好的例子:
#!/usr/bin/perl
#
$in = "foo\nbar\nbaz[something]else\nis\n[~something]\nHappening\n[something]else\nis\n[~something]here\n";
$out = "";
while ($in =~ s/^(.*?)(\[something\].*?\[~something\])//s)
{
my($before,$during) = ($1,$2);
$before =~ s/\n/<br \/>/g;
$out .= $before.$during;
}
$in =~ s/\n/<br \/>/g;
$out .= $in;
print $out;
是的,不是你选择的语言,但概念(解析分阶段数据应该是可移植的。
完全无用的发布perl在这里为php – dynamic 2011-06-13 16:30:43
其实Perl是我选择的语言,但我不得不使用PHP。谢谢,像魅力一样,我希望我可以将它移植到PHP和其他所有东西上。 – 2011-06-13 16:32:42
在这里发布perl并不是“完全没用”。用户询问基于正则表达式的问题,preg_match正在实现与Perl兼容的正则表达式(PCRE)PHP与Perl非常相似。 – 2011-06-13 18:33:15
如果您发布了您试图替换的html样本,这将有所帮助。 – 2011-08-16 14:18:52