PHP – odstranění všech konců řádků z textu

Snažil jsem se z textového řetězce odstranit konec řádku a po určitých problémech se to podařilo.

Původní koncept byl nahradit konec řádky html tagem <br>. Následující nahrazení to sice provedlo, ale zalomení řádků dál zůstávala 🙁

$text_novy = str_replace(PHP_EOL,"<br />",$text_stary);
echo $text_novy;

A nakonec jsem vyzkoušel ještě jedno nahrazování okolo a zabralo to…

$text_novy = ereg_replace("[\r|\n]+","",str_replace(PHP_EOL,"<br />",$text_stary));
echo $text_novy;

Ale to chce ještě zoptimalizovat. Úplně totiž stačí:

$text_novy = ereg_replace("[\r|\n]+","<br />",$text_stary);
echo $text_novy;

A teď to nejhezčí: v úvaze můžeme pokračovat a konec řádku nahradit čímkoli budeme chtít – třeba prázdným řetězcem. Potom dojde ke skutečnému odstranění konce řádky (ale preferoval bych přeci jen tam nějaký oddělovač nechat, aspoň pomlčku).

$text_novy = ereg_replace("[\r|\n]+","",$text_stary);
echo $text_novy;

A to je krásné zobecnění této úlohy, které překračuje pouhé nahrazení konce řádku html tagem <br>!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*