Autor | Zpráva | ||
---|---|---|---|
ssdddd Profil * |
#1 · Zasláno: 10. 11. 2009, 11:28:28
Zdravím vypisuji na stránku html kód pomocí php a chtěl bych pomocí nějaké nahrazovací funkce odmazat duální řádky
takže když by byl anpříklad takovýhle zdroják: Test test1 test2 test3 tak po prohnání tím nahrazením by vzniklo test test1 test2 test3 Teď nemám na mysli aby to tak vypadalo na stránce, ale při zobrazení zdrojového kódu. Díky |
||
Chamurappi Profil |
#2 · Zasláno: 10. 11. 2009, 11:32:46 · Upravil/a: Chamurappi
Reaguji na ssdddda:
Dohledej si, jak zapsat do řetězce nový řádek (anglicky new line) a pak nech nahradit dva nové řádky za jeden — a to opakuj, dokud text nezhoustne. Nebo použij regulární výrazy (tuším, že v PHP to bude preg_replace), kde můžeš snadno nahradit jeden a více výskytů znaku za jeden výskyt. |
||
ssdddd Profil * |
#3 · Zasláno: 10. 11. 2009, 11:34:07
To je právě ten problém když potřebuju v souboru nový řádek použiju /n, jenomže když dám nahradit /n tak to neudělá nic.
|
||
dtr Profil * |
#4 · Zasláno: 10. 11. 2009, 11:38:28
\n ?
|
||
ssdddd Profil * |
#5 · Zasláno: 10. 11. 2009, 12:01:36
To sem myslel, akorát sem to sem špatně napsal :)
|
||
Joker Profil |
#6 · Zasláno: 10. 11. 2009, 12:10:52
ssdddd:
Se str_replace by \n mělo normálně fungovat. U regulárních výrazů bude asi potřeba použít modifikátor "s" (single-line). |
||
dtr Profil * |
#7 · Zasláno: 10. 11. 2009, 12:24:30
uzavíráš to \n do uvozovek? Pokud do apostrofů, tak to nebude fungovat.
|
||
Majkl578 Profil |
#8 · Zasláno: 10. 11. 2009, 13:43:36
echo preg_replace("~\n+~", "\n", $input); |
||
Joker Profil |
#9 · Zasláno: 10. 11. 2009, 14:07:33
dtr:
„uzavíráš to \n do uvozovek? Pokud do apostrofů, tak to nebude fungovat.“ U regulárního výrazu je to jedno. Majkl578: Potíž je, že ve Windows je konec řádku \r\n... čili dva jsou \r\n\r\n, takže \n+ nefunguje. echo preg_replace("~(\r?\n)+~", "\n", $input); |
||
Majkl578 Profil |
#10 · Zasláno: 10. 11. 2009, 14:22:10
Joker:
Ach ty windowsy... :\ |
||
Chamurappi Profil |
#11 · Zasláno: 10. 11. 2009, 14:25:58
Reaguji na Jokera:
„Potíž je, že ve Windows je konec řádku \r\n...“ Myslím, že prohlížeče na mnoha místech normalizují konce řádků na „\r\n“, nehledě na platformu, pod kterou zrovna běží. Takže je spíš otázka, co chce ssdddd zpracovávat. |
||
Časová prodleva: 14 let
|
0