Autor | Zpráva | ||
---|---|---|---|
spliR Profil * |
#1 · Zasláno: 8. 6. 2014, 10:26:34
Zdravím, našel jsem si tu řešený php kód pro vložení komentáře pod článek, funguje to, nicméně to má jednu vadu - ignoruje to písmeno "n". V php jsem začátečník, ale podle násedujícího úryvku z kódu:
file_put_contents($cesta_souboru, str_replace("n","",htmlspecialchars($_POST['jmeno'])).$delimeter. str_replace("n","",htmlspecialchars($_POST['email'])).$delimeter. str_replace("n","",(htmlspecialchars($_POST['text'])))."n", FILE_APPEND); to nhrazuje právě znak "n" prázdnou mezerou, tudíž se nikde "n" nezobrazí. Jak to napravit a vyhnout se tomu, že se mi pak bude výsledný komentář odřádkovávat? (právě kvůli php odřádkování pomocí n). Tušíte někdo ? Mockrát děkuju. |
||
juriad Profil |
spliR:
Nebylo tam náhodou "\n" všude místo "n"? Pak by to mohlo fungovat, byť toto není nikterak pěkně řešené. |
||
spliR Profil * |
#3 · Zasláno: 8. 6. 2014, 10:37:20
Ne, nebylo. To nic neřeší. Přeci "n" se přepisuje dle kódu na " ". Když místo mezery doplním zase "n", tak se všechno odřádkovává, když to tam vůbec není tak to má stejný efekt...
|
||
juriad Profil |
"\n" je zalomení řádku, "n" je písmeno n. To zpětné lomítko tam má smysl. Účelem je zrušit všechna odřádkování, aby se nijak neporušil formát toho souboru.
Nepřepisuje se na mezeru, přepisuje se (v tvém kódu) na nic "". |
||
spliR Profil * |
#5 · Zasláno: 8. 6. 2014, 10:43:48
takže to má prosím vypadat jak ?
|
||
Fisir Profil |
#6 · Zasláno: 8. 6. 2014, 10:46:57
Reaguji na spliRa:
Všude místo n bude \n .
file_put_contents($cesta_souboru, str_replace("\n","",htmlspecialchars($_POST['jmeno'])).$delimeter. str_replace("\n","",htmlspecialchars($_POST['email'])).$delimeter. str_replace("\n","",(htmlspecialchars($_POST['text'])))."\n", FILE_APPEND); |
||
spliR Profil * |
#7 · Zasláno: 8. 6. 2014, 10:54:03
To jsem původně zkoušel, nicméně jsem si o pár řádků níže nevšíml, že je tam ještě
$rozdeleni_radky=explode("n",$komentare);
takže stačilo připsat lomítko i tam a už to funguje. Díky moc! |
||
juriad Profil |
#8 · Zasláno: 8. 6. 2014, 10:58:21
spliR:
Dej odkaz na původní stránku, kde jsi to našel. Možná, že jsi o to lomítko přišel omylem při kopírování do svého editoru nebo došlo k nějaké chybě tady na diskusi. |
||
spliR Profil * |
#9 · Zasláno: 8. 6. 2014, 11:00:51
Původní článek
ta lomítka tam skutečně nejsou. |
||
juriad Profil |
#10 · Zasláno: 8. 6. 2014, 11:10:16
OK. Nejsou v té poslední verzi, ale v těch předchozích jsou.
Mimochodem, je otázkou, zda je vhodné do do souboru ukládat komentáře po prohnání funkcí htmlspecialchars, nebo tuto funkci volat až při výpise. Druhá možnost má tu výhodu, že v souboru jsou původní data, což může být důležité v případě, že bys s nimi chtěl dělat něco jiného než jen vypsat v HTML stránce. Kdybys je chtěl poslat e-mailem, tak htmlspecialchars nemá smysl, naopak komentář může poškodit. |
||
Časová prodleva: 10 let
|
0