Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Problem sa editovanje teksta sa RichTekst editorom

PHP
  • 9 odgovora
  • 4.324 pregleda

Najnovija ↓

Problem sa editovanje teksta sa RichTekst editorom 06.03.2007. u 12:18 · pre 239 meseci #1
Za unos i izmjenu teksta koristim RichText editor. Sto se tice unosa, koristim php skript koji sadrzaj toga editora upisuje u bazu podataka. Upisivanje se obavlja sasvim dobro kao i naknadno citanje iz baze. Znaci sve se prikazuje onako kako sam i upisao.

Medjutim nailazim na problem kada hocu da izmjenim tekst koji je napisan.

Editor se iscrtava u sledecem dijelu koda:

<script language="JavaScript" type="text/javascript">
<!--writeRichText(fieldname, html, width, height, buttons, readOnly);-->
writeRichText('rte1', '<?php echo $sadrzaj;?>', 600, 300, true, false);
</script>

Gdje se u promjenljivoj $sadrzaj nalazi tekst koji je (korektno) ucitan iz baze. Prilikom ucitavanja stranice sa ovim editorom, editor uopste nece da se prikaze, tj nece da se iscrta. Kada je vijest kraca iscrta se, a kada je dugacka nece da se pojavi.

Ne znam da li sam dovoljno bio jasan ali sve sto nisam obrazlozio i opisao trazite...
Potpis
Apartmani na Jahorini http://www.apartmanimaja.com
Re: Problem sa editovanje teksta sa RichTekst editorom 06.03.2007. u 16:50 · pre 239 meseci
izmenjeno 1 put, poslednji put dzona065 06.03.2007. u 18:14
  1. dzona06506.03.2007. u 18:14zapis iz teksta poruke
#5
koristio sam PHP funkciju addslashes(), pri upisu podataka u bazu, kao i stripslashes() prilikom njihovog prikazivanja. Tako da specijalni znakovi ne bi trebali da prave probleme. U slucaju kraceg texta sve radi kako bi i trebalo, ali kad se edituje neki duzi text (bez obzira na tip texta, cak i plain text) dolazi do pomenutog problema. Da jos jednom napomenem da je text unesen u bazu preko ove skripte, i sasvim dobro se ti podaci prikazuju iz baze. Jedini problem je editovanje texta, jer se vrsi preko inicijalizacije ovog Java objekta. Da li je moguce da je problem u javi?




PS.Ako mozete da predlozite neki drugi jednostavni WYSIWYG text editor, da njega ugradim u aplikaciju, jer mi je rok za isporuku blizu


PS2. Problem je izgleda ipak u specijalim znakovima. Evo sta kaze Error Console Firefoxa (koristio sam i addslashes() i nl2br()):

Potpis
Apartmani na Jahorini http://www.apartmanimaja.com
Re: Problem sa editovanje teksta sa RichTekst editorom 06.03.2007. u 17:10 · pre 239 meseci #6
Pa onda uzmi FCKeditor.
A string, bez obzira sto si sklanjao slesheve iz baze, probaj da ih eskejpujes pre samog slanja js kodu jer imas

Code:
writeRichText('rte1', '<?php echo $sadrzaj;?>', 600, 300, true, false);


a ako ti je sadrzaj " Da li 'oces da probas?" onda ce ovaj apostrof da ti zatvori ovaj drugi parametar
Code:
('rte1', '<?php echo $sadrzaj;?>', 600
, i JavaScript (ne java) ce da pukne...
Potpis
http://norway.dakipro.com/
Re: Problem sa editovanje teksta sa RichTekst editorom 06.03.2007. u 20:23 · pre 239 meseci #7
Citat:
dzona065:
PS2. Problem je izgleda ipak u specijalim znakovima. Evo sta kaze Error Console Firefoxa (koristio sam i addslashes() i nl2br()):

Problem je verovatno nastao usled postojanja novog reda (\n) u tekstu, odnosno (\r\n). Kod upotrebe nl2br funkcije u tekstu je ostao \r i stvara probleme, pokušaj da ukloniš taj karakter npr. sa $sadrzaj = preg_replace('/\r/', '', $sadrzaj);. Ili umesto nl2br koristi npr. $sadrzaj = preg_replace('/\r\n|\n|\r/', '<br />', $sadrzaj);
Potpis
Banned - Not available
Re: Problem sa editovanje teksta sa RichTekst editorom 06.03.2007. u 21:46 · pre 239 meseci #8
možda radiš i dupli addslashes :-D
server je ionako najvjerojatnije podešen da ima magic_quote_runtime uključen pa to može isto da stvara probleme...
Potpis
there's no place like 127.0.0.1
Re: Problem sa editovanje teksta sa RichTekst editorom 07.03.2007. u 09:31 · pre 239 meseci #10
rte editor dolazi sa fajlom functions.php
treba pozvati funkciju rteSafe i taj sadrzaj poslati na izlaz...

Code:

function rteSafe($strText) {
    //returns safe code for preloading in the RTE

   $translate = array(
    "đ" => "&#273;",  //    "&#145;" => "&#273;",
    "đ" => "&#1106;", //    "&#209;" => "&#1106;",
    );

  $tmpString = StrTr($strText, $translate);

    //convert all types of single quotes
    $tmpString = str_replace(chr(145), chr(39), $tmpString);
    $tmpString = str_replace(chr(146), chr(39), $tmpString);
    $tmpString = str_replace("'", "&#39;", $tmpString);

    //convert all types of double quotes
    $tmpString = str_replace(chr(147), chr(34), $tmpString);
    $tmpString = str_replace(chr(148), chr(34), $tmpString);

    //replace carriage returns & line feeds
    $tmpString = str_replace(chr(10), " ", $tmpString);
    $tmpString = str_replace(chr(13), " ", $tmpString);

    return $tmpString;
}


Posto tekst koji se unosi ne moze da sadrzi i JS nije zgoreg i njega izbaciti

Code:
$tmpString = preg_replace('@<script[^>]*?>.*?</script>@si', '', $tmpString);


Primeceno je da na nekim browserima ne rade dobro lat i cir slova dj...
Potpis
Moj Veb Sajt HostCentar Blog
Aleksinac Južna Srbija TimeOut
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme