Fatsoenlijk text weergeven op je PHP website
Posted at December 17, 2011
Als je tekst probeert te weergeven op je website kom je al snel achter wat problemen met betrekking tot de weergave van die tekst. Als je bijvoorbeeld netjes je alinea’s gescheiden hebt met witregels wordt alles achter elkaar gezet in je browser. Als je naar de broncode kijkt zie je dat er niks met je witregels is gebeurd. Dit komt omdat je browser witregels en meerdere spaties negeert.
Justus heeft een hele mooie functie geschreven die kale tekst (plain text) geschikt maakt voor html weergave door gebruik te maken van reguliere expressies.
Als je die functie kopieert in een php bestandje kun je met de onderstaande code heel snel testen wat het resultaat van je tekst wordt:
echo texttohtml($_POST['txt']);
Als je dit verwerkt in je scriptjes die tekst weergeven op het scherm voorkom je dat je zelf teksten in html aan het schrijven bent.
Als je een stapje verder wilt gaan zijn er oplossingen als TinyMCE. Zelf ben ik meer fan van een markup taal zoals Markdown die dezelfde functie heeft als html maar dan iets mens-vriendelijker. Je schrijft gewoon bijna natuurlijk je tekst, met een nihile syntax voor niet standaard text. Normaal gesprekken (als je met tekst bezig bent) heb je genoeg aan Markdown voor al je basis markup behoeften zoals: paragrafen, (geneste) lijstjes, headers (1 tot 6), quotes, afbeeldingen en links.
Hier is een PHP script die Markdown tekst vertaald naar HTML. Als je het scriptje hebt gedownload is het net zo makkelijk om hem in te zetten als de functie van Justus:
includeonce "markdown.php";
echo Markdown($mytext);