简体   繁体   中英

Formatting plain text into HTML

Currently working on a custom theme system for WordPress. They store their text for pages/posts in the database as plain text. I need to format the text with paragraphs <p></p> . Not sure the best way to go about doing this. It seems to format the text with HTML tags for things like <strong></strong> already but not paragraphs.

Looks like this in the Database:

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.

Want it to look like this in 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>
$formattedString = "<p>$stringFromDatabase</p>";

Check this one out:
i want to add string data to before first character and after last character

Found the solution on another post.

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

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

echo $out;

Here's another option:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM