Php 将纯文本格式化为HTML

Php 将纯文本格式化为HTML,php,Php,目前正在为WordPress开发自定义主题系统。它们将页面/帖子的文本作为纯文本存储在数据库中。我需要用段落格式化文本。不确定这样做的最佳方式。它似乎已经用HTML标记格式化了文本,比如,而不是段落 在数据库中看起来像这样: Donec nec placerat metus, in consequat lorem. In dignissim tristique commodo. Etiam augue enim, pulvinar a sem a, venenatis congue augue.

目前正在为WordPress开发自定义主题系统。它们将页面/帖子的文本作为纯文本存储在数据库中。我需要用段落格式化文本。不确定这样做的最佳方式。它似乎已经用HTML标记格式化了文本,比如
,而不是段落

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

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>
请不要把它放在同一个地方。在尊贵的特里斯蒂克康茂多。埃蒂亚姆·奥古斯·埃尼姆(Etiam augue enim)、pulvinar a sem a、威尼斯人奥古斯(venenatis congue augue)。《多洛·莫利斯·普尔文纳》中的莫里斯·奎斯·利奥。不允许在欧洲进行任何活动。如箭头所示,为乌拉姆科珀(Comodo ullamcorper)sem tristique vel。虎口浮雕和肘部浮雕同侧前庭;这是一辆车。毛里斯·康莫多·阿利奎特·厄洛斯(Mauris commodo aliquet eros),ut.Pat metus porta a。莫里斯调味品,猫的名言。在dapibus lorem faucibus eleifend ornare。整粒rutrum lacinia est,eu placerat accumsan sed。梅塞纳斯·维塔·内克·里索斯。威尼斯布兰迪设施酒店。库拉比图尔是一种孔雀鱼

这是一个很好的例子。Nullam arcu est,posuere eget justo Concertetur a的拍卖人。维尼那提斯的权杖和比本杜姆的权杖。不要让显贵坐在我的位子上。埃涅亚显贵奥古斯·埃吉特精英前庭。奥纳雷斑睾吸虫Proin a tellus varius ornare。Morbi ac dui放纵了你的饮食。Maecenas risus sem、suscipit nec neque non、Consequeat dapibus sem。这是我们的共同之门。门厅是一个古老的港口,是一个封建的大港口。爱欲是一种力量,爱是一种力量,爱是一种力量。设施馆长。整数urna arcu,设施为nisl eu,egestas hendrerit libero

纳姆·维韦拉·弗林蒂利亚·维利特·欧康瓦利斯。在欧洲东部的sapien tincidunt,这是一个很好的例子。整数ultrices lorem id neque ullamcorper孕妇。临时工、非威尼斯人、自由拍卖人、酒后驾车者。埃尼安·韦尔努克·韦尔库姆·韦尔库姆(Aenean vel nunc vel quam dapibus euismod)。无侵权行为,无侵权行为,无侵权行为,无侵权行为。两个是努克·奥奇,一个是莫里斯·塞德,一个是临时威尼斯人。Donec iaculis tincidunt arcu,quis Dignessim lectus aliquam ac.Vivamus sem tortor,rhoncus vel nulla eu,semper ullamcorper quam。我是莫利斯·塞姆,我是圣洁之水

莫比和埃利芬德·菲利斯,还有帕鲁斯。那是一对奥纳雷犬,一对斗鸡犬,一对小猎犬。在奥古斯都港,我们的法雷特拉港。莫里斯·努克·利奥,瓦里乌斯·阿利特·ac,乌尔特里斯·莫利斯·托托。罗非鱼(Phasellus rhoncus nec ligula vel faucibus)。尤伊斯莫·尼布(euismod nibh)在奥古斯·马莱苏阿达庄园(varius augue malesuada ut)的家族悬念。在porttitor sem处进行Fusce。Nam eget varius Elite。马来苏达·尼西不打火机。Sed eu tortor varius,porttitor risus nec,elementum metus。毛里斯·奎斯·特里斯蒂克·多洛,坐在阿梅特·亚库利斯·阿尔库

塞德·维利特·梅特斯,乌兰科佩尔孕妇的世仇,奥纳·塞德·伊斯特。塞德·鲁特姆·福西布斯·康格。在nec Laoret nunc,ac酵母菌neque。不,不,不,不。Donec aliquet,lorem ut iaculis varius,orci purus feugiat libero,nec porttitor orci dui在多洛。这是我的梦想。第二阶段是对苏打水的处理。在埃格斯塔斯,埃拉特坐在密苏里州的卡苏斯奥奇sem上,品尝着米尼西调味品

$formattedString=“$stringFromDatabase

”;
查看此项:

在另一篇文章中找到了解决方案

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

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

echo $out;
$in='1!'
布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉。
其他的其他的。
HelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorld’;
$out=''
$out.=str_replace(“\n\r”,“

”,$in); $out.='

'; 回音$out;
这里是另一个选项:

$explodedString = explode("\n", $stringFromDatabase);
foreach ($explodedString as &$value)
$value = '<p>'.$value.'</p>';
$cleanString = implode(" ", $explodedString);
echo $cleanString;
$explodestring=explode(“\n,$stringFromDatabase”);
foreach($Explodestring as&$value)
$value=“”.$value.“

”; $cleanString=内爆(“,$explodedString”); echo$cleanString;
如果您只需要换行符,请使用nl2br(),您可以更进一步,使用markdown/textile。php有libs,功能范围很广。对格式化有点帮助,但我想在每一行周围加上一个

标记。你可以检查你得到的答案,然后按行分割你的内容。你说的每一行、段落中的每一行或数据库中的每一行是什么意思?他想在每一行后面加上它
$explodedString = explode("\n", $stringFromDatabase);
foreach ($explodedString as &$value)
$value = '<p>'.$value.'</p>';
$cleanString = implode(" ", $explodedString);
echo $cleanString;