2013-07-18 118 views
0

目前正在使用WordPress的自定義主題系統。他們以純文本的形式將數據庫中的頁面/帖子文本存儲在數據庫中。我需要格式化文本段落<p></p>。不確定最好的方式去做這件事。它似乎已將格式化爲HTML標記的文本,例如<strong></strong>已經但不是段落。將純文本格式化爲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> 
+3

如果你只需要換行使用nl2br() – 2013-07-18 00:25:30

+0

你可以走得更遠了一步,並使用降價/紡織。有PHP的庫和有廣泛的功能。 – calcinai

+0

幫助了一下格式化,但我想在每一行周圍包裝一個'

'標籤。 –

回答

0

找到解決方案在另一個帖子上。

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

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

echo $out; 
0

這裏的另一種選擇:

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