Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z formularzem + TinyMCE, Przesyłanie danych html z formularza do .txt + TinyMCE
loomisti
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 12.10.2010

Ostrzeżenie: (0%)
-----


Witam.


Mam taki problem...
Stworzyłem strone we flashu, każda podstrona we flashu wczytuje zawartość plików .txt
Aby zarządzać treścią w prosty sposób dany plik .txt (np. aktualnosci.txt) edytuje poprzez "panel administracyjny" - troche to za duzo powiedziane:P
Dane z pliku przesyłam do formularza, w którym edytuje treść za pomocą TinyMCE a następnie zapisuje.
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Full featured example</title>
  5.  
  6. <!-- TinyMCE -->
  7. <script type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
  8. <script type="text/javascript">
  9. tinyMCE.init({
  10. // General options
  11. language : "pl",
  12. mode : "textareas",
  13. theme : "advanced",
  14. plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,in
    linepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,dir
    ectionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wo
    rdcount,advlist,autosave",
  15.  
  16. // Theme options
  17. theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justif
    ycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizesele
    ct",
  18. theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,out
    dent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|
    ,insertdate,inserttime,preview,|,forecolor,backcolor",
  19. theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iesp
    ell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
  20. theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acro
    nym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
  21. theme_advanced_toolbar_location : "top",
  22. theme_advanced_toolbar_align : "left",
  23. theme_advanced_statusbar_location : "bottom",
  24. theme_advanced_resizing : true,
  25.  
  26. // Example content CSS (should be your site CSS)
  27. content_css : "css/content.css",
  28.  
  29. // Drop lists for link/image/media/template dialogs
  30. template_external_list_url : "lists/template_list.js",
  31. external_link_list_url : "lists/link_list.js",
  32. external_image_list_url : "lists/image_list.js",
  33. media_external_list_url : "lists/media_list.js",
  34.  
  35. // Style formats
  36. style_formats : [
  37. {title : 'Bold text', inline : 'b'},
  38. {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
  39. {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
  40. {title : 'Example 1', inline : 'span', classes : 'example1'},
  41. {title : 'Example 2', inline : 'span', classes : 'example2'},
  42. {title : 'Table styles'},
  43. {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
  44. ],
  45.  
  46. });
  47. </script>
  48. </head>
  49. <body>
  50. <?php
  51.  
  52. $elm1 = trim($_POST['elm1']);
  53. $tekst = '<b>To </b>jest tekst';
  54. if(empty($elm1)) {
  55.  
  56. echo '<form method="post" action="">
  57. <div>
  58. <div>
  59. <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">' .$tekst. '</textarea><br /> </div>
  60. <input type="submit" value="Zapisz" />
  61. </div>
  62. </form>';
  63. }
  64. else {
  65.  
  66. $dane = $elm1;
  67. $file = "baza.txt";
  68. $fp = fopen($file, "w");
  69. flock($fp, 2);
  70. fwrite($fp, $dane);
  71. flock($fp, 3);
  72. fclose($fp);
  73.  
  74. echo "Dane zostały zapisane!<br />";
  75. }
  76.  
  77. ?>
  78. </body>
  79. </html>


Samo wczytywanie, edycja i (prawie) zapis działa...
Prawie dlatego, że dane (kod thml) ktory wygeneruje TinyMCE po przesłaniu do .txt źle się zapisują.
Podczas edycji w TinyMCE oglądając podgląd kodu html jest np:
  1.  
  2. <h1 style="color: #ff0000;"><strong>To </strong>jest tekst Bla Bla</h1>


Natomiast po zapisaniu do .txt jest:
  1. <h1 style=\"color: #ff0000;\"><strong>To </strong>jest tekst Bla Bla</h1>


pojawiają się "\" - tego niestety Flash nie odczyta...
Nie znam PHP zbyt dobrze, ale zapewne problem jest z formularzem i zapisem - ktoś może ma jakieś pomysły?? (IMG:style_emoticons/default/smile.gif)

Kolejny problem to już sam TinyMCE, jak widać w zamieszczonym kodzie html, TinyMCE daje <strony> zamiast <b> - z Tym flash sobie również nie radzi...
Czy da się to jakoś zmienić w samym TinyMCE - ustawienia czy cos? Bo można oczywiście przelecieć foreachem 2x przez caly kod html i pozamieniac <strong> na <b> oraz </strong> na </b> - przy krótkim teksie ok, ale przy powiedzmy 2000 słow(?).

Będę wdzieczny za pomoc, pozdrawiam.



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
konrados
post
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Jak chodzi o to dodawanie slashy to być moze masz włączone magic_quotes_gpc - w takim razie możesz użyć funk.

Cytat
TinyMCE daje <strony> zamiast <b>

Z pewnością gdzieś w kodzie TinyMCE możesz to zmienić, a jak nie to nie wiem czemu mówisz o jakimś foreach, jest przecież


Ten post edytował konrados 7.11.2010, 16:43:52
Go to the top of the page
+Quote Post
loomisti
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 12.10.2010

Ostrzeżenie: (0%)
-----


Jeśli chodzi o str_replace to fakt, przyda sie ta funkcja. Nie znam PHP dobrze jak powiedziałem, wiec raczej zrobilbym samu niz szukal funkcji (IMG:style_emoticons/default/biggrin.gif) Ale poszperam w TinyMCE, moze tam sie to uda zmienic.
Z tymi slashami tez rewelka (IMG:style_emoticons/default/biggrin.gif)

I problem tez jest z samym flashem (nie ten dział a może i nie to forum, ale moze ktos bedzie znal odpowiedz...) - flash nie interpretuje wszystkich znaczników html to raz, a dwa - ustawiając w polu tekstowym we flashu czcionke (styl i rodzaj mozna zostawic puste, ale rozmiar musi zostac podany) nie da sie tego pozniej zmienic. Tzn wczytuje jakis tekst z .txt gdzie mam <font size=20> a flash nadal wypisuje tekst wielkosci 12 - wtf??
Go to the top of the page
+Quote Post
konrados
post
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


A tu już Ci nie pomogę, nic o flashu nie wiem, ale może wybredny jest i raczej oczekuje np. <font size="20"> czyli parametry w cudzysł. tak jak należy.
Go to the top of the page
+Quote Post
loomisti
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 12.10.2010

Ostrzeżenie: (0%)
-----


Daje tak jak piszesz, zawsze to samo... chodzi chyba o to, ze skoro się zadeklarowalo czcionke w polu tekstowym to on wszystko wyswietla z taka wielkoscia, nie wazne co jest w html'u, nie wiem jak to obejsc (IMG:style_emoticons/default/sad.gif)

Użyłem tych dwóch funkcji, które podałeś i... pojawiają się problemy ;/
Bez ich uzycia edytor zapisuje teks do .txt z polskimi znakami.
Kiedy uzyje tych funkcji teks zapisuje sie bez polskich znakow - zastepowane sa "krzaczkami"...

Jakieś pomysły na to?(IMG:style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:17