如何在 PHP Markdown 中将单个换行符视为真正的换行符?
我正在阅读 http://github.github.com/github-flavored-markdown/
我想在 PHP Markdown 中实现“换行符修改”:
我能想到的最好的是:
$my_html = Markdown($my_text);
$my_html = preg_replace("/\n{1}/", "<br/>", $my_html);
但这运行起来非常不可预期。
I was reading http://github.github.com/github-flavored-markdown/
I would like to implement that "Newline modification" in PHP Markdown:
Best I could think of is:
$my_html = Markdown($my_text);
$my_html = preg_replace("/\n{1}/", "<br/>", $my_html);
But this runs very unexpectable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 markdown 文件中查找行:
并将其下面的 preg 模式从: 更改
为:
或者您可以扩展 markdown 类,重新声明“doHardBreaks”函数,并将返回更改为类似上面代码的内容
问候,Achmad
Look for line in your markdown file:
and change the preg pattern below it from:
to:
Or you can just extend the markdown class, redeclare 'doHardBreaks' function, and change the return into something like code above
Regards, Achmad
我想出了以下解决方案,模仿 gfm 换行行为的大部分部分。它通过了原始帖子中提到的页面上的所有相关测试。请注意,下面的代码预处理 markdown 并输出风味的 markdown。
I've came up with the following solution, imitating most parts of the gfm newline behavior. It passes all the relevant tests on the page mentioned in the original post. Please note that the code below preprocesses markdown and outputs flavored markdown.
作为临时脚本,您可以在运行
基于 的 markdown 脚本 之前在字符串上运行此脚本github风格的markdown
PS我不是最擅长正则表达式,而且我不知道github使用什么编程语言,所以我即兴创作
As an ad-hoc script you can just run this on your string before running the markdown script
Based on the github flavored markdown
P.S. I'm not the best at regex and I don't know what programming language github uses so I improvised
PHP 的 nl2br 函数不能解决问题吗?
nl2br — 在字符串中的所有换行符之前插入 HTML 换行符
http ://php.net/manual/en/function.nl2br.php
如果您还想删除所有换行符(nl2br 插入
),您可以这样做:
如果没有,请详细说明如何您的解决方案失败了,以及您想要修复什么。
PHP's nl2br -function doesn't cut it?
nl2br — Inserts HTML line breaks before all newlines in a string
http://php.net/manual/en/function.nl2br.php
If you also want to remove all linebreaks (nl2br inserts <br/>), you could do:
If not, please elaborate on how your solution fails, and what you'd like to fix.