我试图更改降价的默认行为,其中没有将单行中断转换为<br />
。
我发现github香精做到了这一点,但我很难将rube函数转换为类似的PHP。
Ruby代码如下所示:
text.gsub!(/(\A|^$\n)(^\w[^\n]*\n)(^\w[^\n]*$)+/m) do |x|
x.gsub(/^(.+)$/, "\\1 ")
end
但是,即使我在PHP中尝试这种简单的方法,我也没有发现任何区别。
$text = preg_replace("/^(.+)$/", "\\1", $text);
$text = Markdown($text);
任何从Ruby到PHP转换的帮助都将受到高度赞赏。
PS。这里不需要讨论一般的行为,请参阅元问题降价渲染器是否应将单行中断视为br?
发布于 2012-05-31 17:29:59
在试图翻译Ruby代码时,您遗漏了两件事:
x
。注意,外部regex是一个多行正则表达式(由最终的m
表示)。发布于 2012-06-02 05:10:45
经过进一步研究,我发现这个preg_replace是最有效的PHP,相当于ruby代码:
preg_replace( "/^(\w[^\r\n]*)(?=\r?\n\w.*$)/m", "\\1 ", $text );
https://stackoverflow.com/questions/10835096
复制相似问题