Autor | Zpráva | ||
---|---|---|---|
Pavliczeck Profil * |
#1 · Zasláno: 8. 2. 2011, 00:17:08
Dobrý večer,
chtěl bych se zeptat, zda jste někdo neřešil problém s CKeditorem kdy chcete místo použitého tagu <br /> využívat tagu <br>. Hledal jsem všude možně, ale nenašel jsem místo, kde bych to změnil. Děkuji za pomoc. |
||
Medvídek Profil |
#2 · Zasláno: 8. 2. 2011, 00:37:07 · Upravil/a: Medvídek
Pavliczeck:
Nejsi jediný, na oficiálním fóru si taky někdo stěžuje, že nový editor funguje jen jako XHTML. Z nápovědy toto: FCKConfig.EnableXHTML = true ; // Unsupported: Do not change. FCKConfig.EnableSourceXHTML = true ; // Unsupported: Do not change. Takže asi jedině ty tagy nahrazovat před uhládáním v php str_replacem. Tak na oficiální dokumentaci je toto: // The way to close self closing tags, like <br />. writer.selfClosingEnd = ' />'; CKEDITOR.on( 'instanceReady', function( ev ) { // Ends self closing tags the HTML4 way, like <br>. ev.editor.dataProcessor.writer.selfClosingEnd = '>'; }); Takže by to mělo jít :) |
||
Radek Cvek Profil |
#3 · Zasláno: 8. 2. 2011, 01:08:03
Asi hloupá otázka - ale proč? Nenapadá mě důvod, proč to měnit.
|
||
WMPopi Profil |
#4 · Zasláno: 8. 2. 2011, 03:27:59 · Upravil/a: WMPopi
„Takže asi jedině ty tagy nahrazovat před uhládáním v php str_replacem.“
CKEditor mám takových nedostatků více, proto každý výstup před uložením proženu svojí funkcí, která mi ty nedostatky ošetří. |
||
Medvídek Profil |
#5 · Zasláno: 8. 2. 2011, 08:50:11
WMPopi:
Je pravda, že používám taky :) function CKEditor($text) { $tags = array("h1", "h2", "h3", "h4", "h5", "h6", "p", "li", "td", "br /", "caption"); foreach ($tags as $tag) { $pocet = substr_count($text, "<$tag"); if ($pocet) { for ($i = 1; $i <= $pocet; $i++) { $pozice1 = strpos($text, "<$tag"); $pozice2 = $pozice1 + strpos(substr($text, $pozice1), ">") + 1; $pozice = $pozice2; while ($text[$pozice] == "\t" || $text[$pozice] == "\r" || $text[$pozice] == "\n") $pozice++; $text = substr($text, 0, $pozice1 + 1) . "#" . substr($text, $pozice1 + 1, $pozice2 - $pozice1 - 1) . substr($text, $pozice); } } } $text = str_replace("<#", "<", $text); while (substr($text, -2) == "\r\n") $text = substr($text, 0, -2); return $text; } |
||
WMPopi Profil |
#6 · Zasláno: 8. 2. 2011, 13:27:06
Medvídek:
Od tý doby jsem ji už značně rozšířil :-D |
||
Pavliczeck Profil * |
#7 · Zasláno: 8. 2. 2011, 13:31:40
Jako totální vemínko, které zvládá jen html css a trošku php jsem z toho nic nepochopil. Ten script mám vložit kam? Nebo kde to vůbec mám hledat?
|
||
Radek9 Profil |
#8 · Zasláno: 8. 2. 2011, 13:34:04
Pavliczeck:
Tu funkci si hoď někam do PHP a potom ji použij na řetězec: $text = $_POST["text"];//Tady si ještě doplň nějakou ochranu $text = CKEditor($text); |
||
WMPopi Profil |
#9 · Zasláno: 8. 2. 2011, 13:47:26 · Upravil/a: WMPopi
Pavliczeck:
Tohle ale neřeší tvůj požadavek používání <br> místo <br />. Řeší to lepší formátování html kódu. Pro svůj problém si hoď na konec té funkce před řádek return $text = str_replace("<br />", "<br>", $text); případně funkci vůbec použít nemusíš a stačí něco v tomto smyslu $_POST["text"] = str_replace("<br />", "<br>", $_POST["text"]); |
||
Časová prodleva: 14 let
|
0