用PHP上的DIV替换数据库

时间:2014-11-26 20:40:00

标签: php mysql css

我有一个来自我的db(mysql)的文本。此文本通过并保存,以便保留用户键入的换行符,我使用nl2br函数。

问题是我想让每个段落成为DIV,这样我就可以维持一个用于悬停的CSS类(就像你在这里:http://opendyslexic.org/try-it/)。

我尝试过这种方法:

$text = preg_replace('#<br \/>{1}(.*?)<br \/>{1}#', '<div class = "paragraph_edit">$1</div>', $text);

但它似乎不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果您需要保存行结尾,为什么在存储到数据库之前使用nl2br?数据已经在那里有行结尾,你的数据库可以很好地存储它们,所以这看起来很奇怪。只需将所有这些\n存储在那里,然后从那里的\n获取数据,然后在\n上展开并重新加入&#34;无论您需要什么&#34; - 可以是implode("<br>",data),可以是"<div>" . implode("</div><div>",data) . "</div>",也可以是您需要的任何其他内容。

此外,在现代HTML注释中:<br>的HTML5语法就是这样。 Void元素不会自动关闭,因此看起来nl2br包会生成错误的HTML(或XHTML,在现代浏览器世界中使用它并没有多大意义)