Autor | Zpráva | ||
---|---|---|---|
yFang Profil |
#1 · Zasláno: 21. 3. 2009, 13:40:38
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 |
#2 · Zasláno: 21. 3. 2009, 13:57:25
projeď to předtím
$retezec = str_replace("\r", '', $retezec); |
||
Mastodont Profil |
#3 · Zasláno: 21. 3. 2009, 14:30:28
Já bych dal
$retezec = str_replace(PHP_EOL, '', $retezec); |
||
yFang Profil |
#4 · Zasláno: 21. 3. 2009, 14:36:37
AM_
Díky funguje. Mastodont To mi bohužel odstraní i ty nové řádky, které chci nahradit. |
||
AM_ Profil |
#5 · Zasláno: 21. 3. 2009, 15:52:24
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?
|
||
Časová prodleva: 15 let
|
0