Autor Zpráva
yFang
Profil
Chtěl bych nahradi všechny nové řákdy za </p><p>. Dělám to takhle:
$retezec = "<p>text\n\n\njdalší text</p>";
$retezec = ereg_replace("\n+", "</p><p>", $retezec);
echo $retezec;

A vše funguje. Pokud to ale použiju na vstupní text z textarea, tak mi to nahradí každý prázdný řádek za </p><p>, což ale nechci.
Čím to je a jak to mám udělat aby to fungovalo?
AM_
Profil
projeď to předtím
$retezec = str_replace("\r", '', $retezec);
Mastodont
Profil
Já bych dal
$retezec = str_replace(PHP_EOL, '', $retezec);
yFang
Profil
AM_
Díky funguje.

Mastodont
To mi bohužel odstraní i ty nové řádky, které chci nahradit.
AM_
Profil
Pro vysvětlení: UNIX používá jako nový řádek \n, Windows \r\n a aby to nebylo málo, Mac mám pocit používá \r. Ještě jsem se ale s \r samotným (mac-style) v praxi nesetkal, takže pro sjednocení Windows a UNIX odřádkování je řešením eliminovat \r, čímž se nové řádky sjednotí na \n. Kdyby se mělo počítat i s MAC, bylo by to složitější. Mac jsem ale v životě neměl v ruce, takže jestli tu s ním někdo máte zkušenost, může se na webu stát, že se z MACu odešle přes textarea text odřádkovaný \r, nebo se z jeho prohlížečů posílá normálně unixový \n?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0