Autor Zpráva
ph@tE
Profil *
Lámu si teď hlavu nad takovým problémem, který mám v návštěvní knize:
Chtěl bych aby se mi 2 a více <br /> za sebou zformátovalo jako nový odstavec tj. vyměním je za </p><p>. Bohužel mi to ale nějak nefunguje. Zkoušel jsem toto:
$zprava = preg_replace("[(<br />){2,}]","</p><p>",$zprava);
Zdá se že to nemá na formátování vůbec žádný vliv, protože se tam tento řetězec nevyskytuje a to jsem zmáčkul enter asi 5X za sebou ( měním \n na <br /> ).
Tak jsëm si jen tak pro zajímavost zkusil měnit \n na n2jak0 slovo nap5. klik a yjistil jsem že mi to pokaždé udělá okolo tohoto slova mezery - nevypisuje se "klikklikklik" ( 3X enter ), ale "klik klik klik". Tyto mezery ale nejsou normální mezery, v kódu nejsou, místo toho se mi za každým slovem klik zalomí v kódu řádek - to způsobuje zřejmě ty mezery. Z toho plyne, že mezi každou <br /> se automaticky dělá nějaký znak, který zalomí v kódu řádek a proto také nefunguje ta funkce, protože v ní ten znak není zakonponován. Já ale bohužel vůbec netuším, co by toto chování mohlo způsobovat, abych to mohl zakomponovat do své funkce.
Pokud jste někdy řešili problém toho, že se více enterů za sebou zformátuje jako nový odstavec a dělalo vám to taky toto, tak prosím poraďte...
Děkuju
jonge
Profil
$zprava = ereg_replace("[<br />]{2,}","</p><p>",$zprava); Toto jede?
ph@tE
Profil *
Jako zkusit místo preg_replace ereg_replace? Zkusím, hlavně se mi ale zdá divný, že se po každém <br /> změněném z \n ( a i čímkoliv jiném změněném z \n ) zalamuje v kódu řádek. Kdybych tyto znaky, které zalamují řádek v kódu dokázal vyházet, tak by ta funkce jela. Divný ovšem je, že se řádky v kódu zalamují také sekvencí \n a že by se měnilo \n na <br />\n se mi nezdá, je to prostě divný...
krteczek
Profil
$text = strtr($text, array("\r" => ""));//odstranění případných \r
$text = "<p>" . preg_replace('#(' . "\n" . '{2,})#', "</p><p>", $text)."</p>";
$text = strtr($text,array("\n" => '<br>'));
krteczek
krteczek
Profil
jo tad se koukám ty asi používáš funkci nr2br(); tak tu vyhoď a nahraď to mou verzí
krteczek
pavel prochazka.zde.cz
Profil *
zkus toto:

$vzkaz = nl2br(HtmlSpecialChars($vzkaz));
$vzkaz = Preg_Replace ('([\r\n])', '', $vzkaz);
ph@tE
Profil *
krteczek
Díky moc, už to jede.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0