Autor | Zpráva | ||
---|---|---|---|
Thomasss Profil * |
#1 · Zasláno: 1. 10. 2006, 16:42:04
Řeším problém s knihou návštěv. Snažím se o to, abych měl jeden příspěvek na jednom řádku.
To mi funguje, ale pouze v případě, že člověk nevloží do zprávy další řádky (pomocí tlačítka enter). V tom případě se mi ve zdrojáku napíše <br /> a hned je zpráva na dvou řádcích. nevíte, jak bych mohl udělat, aby mi text (ve zdrojáku) zůstal na jendom řádku? |
||
ash721 Profil |
#2 · Zasláno: 1. 10. 2006, 17:44:20
Není to jasné? Prostě si najděte v kódu tu funkci která ten text formátuje a odstraňte ji.
|
||
Marcus Flintus Profil |
#3 · Zasláno: 1. 10. 2006, 17:51:56
přesně jsem to nepochopil, takže:
nový řádek pro html -> <br> nový řádek pro zdroják -> \r\n takže pokud chceš mít všechno na jednom řádku v html (to co uživatel vidí), pak to bude: $string = str_replace("<br>", "", $string); pokud jenom ve zdrojáku tak to bude těžší, nabízim 2 varianty (dávám z hlavy, za správnost neručim): $string = str_replace("\r\n", "", $string); nebo zbytečně složitá varianta (mam kreativní náladu): $pole = explode( "\r\n", $string ); for($i = 0; $i<count($pole), $i++){ $pole[$i] = substr( $pole[$i], 4 ); //vezme vše od 4tého znaku (včetně?) } $string = implode("", $pole); |
||
krteczek Profil |
#4 · Zasláno: 1. 10. 2006, 19:02:45
no tady jde o to že v kodu máte asi použitou funkci nr2br() kterou převádíte \n na <br />, tuto funkci odstraňte a nahraďte třeba touto:
pokud byste chtěl z dvou a více enter za sebou udělat nový odstavec tak hledejte zde na foru, dneska už jsem to tady jednou dával |
||
Thomasss Profil * |
#5 · Zasláno: 1. 10. 2006, 19:55:45
Díky za pomoc, bohužel mi to ale nepomohlo.
Namísto nového řádku se objeví <br>... ve zdrojáku je entita. Ale řádkování textu ve zdrojovym kódu je správně :) |
||
Alphard Profil |
#6 · Zasláno: 1. 10. 2006, 19:59:13
se objeví <br> asi nl2br
ve zdrojáku je entita jaká? jestli to není tajny, tak ukaž skript |
||
Thomasss Profil * |
#7 · Zasláno: 1. 10. 2006, 20:03:52
Takhle jsem to upravil:
$Zprava = strtr($Zprava, array("\r" => "")); $Zprava = preg_replace('#(' . "\n" . '{2,})#', "<br><br>", $Zprava); $Zprava = strtr($Zprava, array("\n" => "<br>")); FPutS($fp, stripslashes(HTMLSpecialChars($Zprava))); |
||
Alphard Profil |
#8 · Zasláno: 1. 10. 2006, 20:07:00
jo, ale kde vezmeš $Zprava
|
||
Thomasss Profil * |
#9 · Zasláno: 1. 10. 2006, 20:09:33
$Zprava - to vezmu z formuláře...
takhle vypadá ve zdrojáku: první řádek<br>tohle by mělo být na druhém zobrazeno je to takhle: první řádek<br>tohle by mělo být na druhém |
||
krteczek Profil |
#10 · Zasláno: 1. 10. 2006, 20:18:00
no jasně, ale to htmlspecialchars má být první!!!,
krteczek |
||
Alphard Profil |
#11 · Zasláno: 1. 10. 2006, 20:21:01
Thomasss
já už nevím, co chceš: v první příspěvku píšeš, že to chceš mít na 1 řádku: Snažím se o to, abych měl jeden příspěvek na jednom řádku. dále, že na více: Namísto nového řádku se objeví <br>... ve zdrojáku je entita. ta entita je tam kvůli funkci: HTMLSpecialChars => převede <br> na <br> |
||
Thomasss Profil * |
#12 · Zasláno: 1. 10. 2006, 20:30:09
krteczek:
jak to má být první? |
||
krteczek Profil |
#13 · Zasláno: 1. 10. 2006, 20:42:03
$Zprava = stripslashes($_POST['zprava']);
$Zprava = HTMLSpecialChars($Zprava); $Zprava = strtr($Zprava, array("\r" => "")); $Zprava = preg_replace('#(' . "\n" . '{2,})#', "<br><br>", $Zprava); $Zprava = strtr($Zprava, array("\n" => "<br>")); FPutS($fp, $Zprava); |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0