0

目前正在为 WordPress 开发自定义主题系统。他们将页面/帖子的文本作为纯文本存储在数据库中。我需要用段落格式化文本<p></p>。不确定执行此操作的最佳方法。它似乎使用 HTML 标记格式化文本,例如<strong></strong>已经但不是段落。

在数据库中看起来像这样:

Donec nec placerat metus, in consequat lorem. In dignissim tristique commodo. Etiam augue enim, pulvinar a sem a, venenatis congue augue. Mauris quis leo in dolor mollis pulvinar. Nullam sed nisi et nisl fringilla consequat nec eu mi. Nunc sagittis lorem est, commodo ullamcorper sem tristique vel. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ut odio et massa vehicula viverra. Mauris commodo aliquet eros, ut volutpat metus porta a. Integer et condimentum mauris, nec dictum felis. In dapibus lorem faucibus eleifend ornare. Integer rutrum lacinia est, eu placerat lectus accumsan sed. Maecenas vitae neque risus. Suspendisse venenatis blandit facilisis. Curabitur id convallis ligula, a porttitor purus.

Proin congue metus vel urna egestas eleifend. Nullam arcu est, auctor at consectetur a, posuere eget justo. Suspendisse scelerisque quam ut quam bibendum venenatis. Donec dignissim sit amet tellus eu posuere. Aenean dignissim augue eget elit vestibulum fringilla. Proin a orci a tellus varius ornare. Morbi ac dui vulputate est porttitor imperdiet. Maecenas risus sem, suscipit nec neque non, consequat dapibus sem. Nulla sed dolor quis est porta commodo. Vestibulum ut sapien porttitor, feugiat magna non, adipiscing nunc. Aliquam neque eros, egestas quis cursus ut, posuere nec ipsum. Curabitur facilisis semper aliquam. Integer urna arcu, facilisis sed nisl eu, egestas hendrerit libero.

Nam viverra fringilla velit eu convallis. Sed ac arcu at sapien tincidunt aliquet a eu est. Integer ultrices lorem id neque ullamcorper gravida. Sed tempor, risus non venenatis lobortis, nunc tellus auctor libero, ut aliquam ante urna at dui. Aenean vel nunc vel quam dapibus euismod. Nulla tortor nisi, luctus elementum velit cursus, rhoncus interdum eros. Duis nunc orci, egestas a mauris sed, tempor venenatis odio. Donec iaculis tincidunt arcu, quis dignissim lectus aliquam ac. Vivamus sem tortor, rhoncus vel nulla eu, semper ullamcorper quam. Duis mollis sem in metus cursus, id sodales velit consectetur.

Morbi ut eleifend felis, et aliquet purus. Nam a dui ornare, convallis turpis quis, tincidunt nulla. In porttitor augue ut urna pharetra tincidunt. Mauris nunc leo, varius a elit ac, ultrices mollis tortor. Phasellus rhoncus nec ligula vel faucibus. Suspendisse feugiat euismod nibh, at varius augue malesuada ut. Fusce at porttitor sem. Nam eget varius elit. Aliquam tristique malesuada nisi non tincidunt. Sed eu tortor varius, porttitor risus nec, elementum metus. Mauris quis tristique dolor, sit amet iaculis arcu.

Sed velit metus, feugiat in ullamcorper gravida, ornare sed est. Sed rutrum faucibus congue. Proin nec laoreet nunc, ac fermentum neque. Donec eu nulla nunc. Donec aliquet, lorem ut iaculis varius, orci purus feugiat libero, nec porttitor orci dui at dolor. Sed vel felis quis odio ornare hendrerit ut nec metus. Phasellus eu odio sit amet risus sodales porta. Proin egestas, erat sit amet tristique consectetur, mi nisi condimentum urna, at cursus orci sem in mi.

希望它在 HTML 中看起来像这样:

<p>Donec nec placerat metus, in consequat lorem. In dignissim tristique commodo. Etiam augue enim, pulvinar a sem a, venenatis congue augue. Mauris quis leo in dolor mollis pulvinar. Nullam sed nisi et nisl fringilla consequat nec eu mi. Nunc sagittis lorem est, commodo ullamcorper sem tristique vel. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ut odio et massa vehicula viverra. Mauris commodo aliquet eros, ut volutpat metus porta a. Integer et condimentum mauris, nec dictum felis. In dapibus lorem faucibus eleifend ornare. Integer rutrum lacinia est, eu placerat lectus accumsan sed. Maecenas vitae neque risus. Suspendisse venenatis blandit facilisis. Curabitur id convallis ligula, a porttitor purus.</p>
<p>Proin congue metus vel urna egestas eleifend. Nullam arcu est, auctor at consectetur a, posuere eget justo. Suspendisse scelerisque quam ut quam bibendum venenatis. Donec dignissim sit amet tellus eu posuere. Aenean dignissim augue eget elit vestibulum fringilla. Proin a orci a tellus varius ornare. Morbi ac dui vulputate est porttitor imperdiet. Maecenas risus sem, suscipit nec neque non, consequat dapibus sem. Nulla sed dolor quis est porta commodo. Vestibulum ut sapien porttitor, feugiat magna non, adipiscing nunc. Aliquam neque eros, egestas quis cursus ut, posuere nec ipsum. Curabitur facilisis semper aliquam. Integer urna arcu, facilisis sed nisl eu, egestas hendrerit libero.</p>
<p>Nam viverra fringilla velit eu convallis. Sed ac arcu at sapien tincidunt aliquet a eu est. Integer ultrices lorem id neque ullamcorper gravida. Sed tempor, risus non venenatis lobortis, nunc tellus auctor libero, ut aliquam ante urna at dui. Aenean vel nunc vel quam dapibus euismod. Nulla tortor nisi, luctus elementum velit cursus, rhoncus interdum eros. Duis nunc orci, egestas a mauris sed, tempor venenatis odio. Donec iaculis tincidunt arcu, quis dignissim lectus aliquam ac. Vivamus sem tortor, rhoncus vel nulla eu, semper ullamcorper quam. Duis mollis sem in metus cursus, id sodales velit consectetur.</p>
<p>Morbi ut eleifend felis, et aliquet purus. Nam a dui ornare, convallis turpis quis, tincidunt nulla. In porttitor augue ut urna pharetra tincidunt. Mauris nunc leo, varius a elit ac, ultrices mollis tortor. Phasellus rhoncus nec ligula vel faucibus. Suspendisse feugiat euismod nibh, at varius augue malesuada ut. Fusce at porttitor sem. Nam eget varius elit. Aliquam tristique malesuada nisi non tincidunt. Sed eu tortor varius, porttitor risus nec, elementum metus. Mauris quis tristique dolor, sit amet iaculis arcu.</p>
<p>Sed velit metus, feugiat in ullamcorper gravida, ornare sed est. Sed rutrum faucibus congue. Proin nec laoreet nunc, ac fermentum neque. Donec eu nulla nunc. Donec aliquet, lorem ut iaculis varius, orci purus feugiat libero, nec porttitor orci dui at dolor. Sed vel felis quis odio ornare hendrerit ut nec metus. Phasellus eu odio sit amet risus sodales porta. Proin egestas, erat sit amet tristique consectetur, mi nisi condimentum urna, at cursus orci sem in mi.</p>
4

3 回答 3

1
$formattedString = "<p>$stringFromDatabase</p>";

检查一下:
我想在第一个字符之前和最后一个字符之后添加字符串数据

于 2013-07-18T00:27:07.480 回答
0

在另一个帖子上找到了解决方案。

$in = '
blablablabalbalblablablablablablablablabalbalbla.
otherotherotherotherotherother.
helloworldhelloworldhelloworldhelloworld.';

$out = '<p>'
$out .= str_replace("\n\r" , '</p><p>', $in);
$out .= '</p>';

echo $out;
于 2013-07-18T00:53:00.813 回答
0

这是另一种选择:

$explodedString = explode("\n", $stringFromDatabase);
foreach ($explodedString as &$value)
$value = '<p>'.$value.'</p>';
$cleanString = implode(" ", $explodedString);
echo $cleanString;
于 2013-07-18T00:54:51.770 回答