Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript]Zmiana tresci w textarea TinyMCE
fcppl
post 22.11.2022, 11:44:09
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


Witam

Mam pole textarea i w niej treść (pobierana z SQL). Potrzebuję poprzez kliknięcie w button zmienić nazwy np:

Nazwa jeden na Nowa Nazwa jeden
Nazwa dwa na Nowa Nazwa dwa

I zrobiłem to tak:

  1. <textarea id="element">
  2. Nazwa jeden
  3. Nazwa dwa
  4.  
  5. <button id="changeText">Replace Text</button>
  6.  
  7. const changeText = (e) => {
  8. const element = $("#element");
  9. const textToReplace = element.text();
  10. const newText = textToReplace.replace("Nazwa jeden", "Nowa Nazwa jeden").replace("Nazwa dwa", "Nowa Nazwa dwa");
  11. element.text(newText);
  12. };
  13.  
  14. $(document).on('click', '#changeText', changeText);


Działa wszystko b.dobrze, ale problem zaczyna się jak mam podłączony Edytor TinyMCE (Wersja: 5.10.6)

Nie mam pojęcia jak to podłączyć do edytora TinyMCE. Niestety nie znalazłem też żadnych pomocy w podobnym temacie na forum.

Proszę o pomoc.
Go to the top of the page
+Quote Post
viking
post 22.11.2022, 11:50:34
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


https://www.tiny.cloud/docs/ui-components/toolbarbuttons/


--------------------
Go to the top of the page
+Quote Post
fcppl
post 22.11.2022, 11:54:57
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


dziękuję za pomoc, a mogę prosić o przykład jak to połączyć do mojego rozwiązania? Niestety nie wiem jak do TinyMCE dołączyć swoj skrypt ten co pokazywałem wcześniej.

Ten post edytował fcppl 22.11.2022, 13:18:14
Go to the top of the page
+Quote Post
viking
post 22.11.2022, 13:46:40
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Masz tam sporo przykładów jak operować na treści, pewnie nawet do nich nie zajrzałeś tylko od razu chcesz gotowca. Sorry, pokaż co próbowałeś.


--------------------
Go to the top of the page
+Quote Post
fcppl
post 22.11.2022, 16:04:48
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


Mogło tak to wyglądać bo od razu poprosiłem o przykład. Wykonuję dużo testów od wczoraj. Nie pokazuję tego bo niestety nie mam pojęcia jak mam połączyć to z TinyMCE i wygląda to strasznie amatorsko. Czytałem tez wszystko co wysłałeś dzisiaj jako podpowiedż, ale dalej moim największym problemem jest podlączenie tego do TinyMCE.

Jedynie co zrobiłem to cos w tym stylu ale to nie dziala: Nowy przypisc (My Custom Button) do Akcji sie pojawia ale jak zrobic replace tego nie wiem i niestety nie mam wiedzy jak to podlaczyc pod TinyMCE

  1.  
  2.  
  3. tinymce.init({
  4. selector: '#product_desc',
  5. toolbar: 'myCustomToolbarButton',
  6. setup: function (editor) {
  7. editor.ui.registry.addButton('myCustomToolbarButton', {
  8. text: 'My Custom Button',
  9. onAction: function () {
  10. editor.on('PostProcess', function(ed) {
  11. ed.content = ed.content.replace('dddddd','test');
  12. });
  13. },
  14. });
  15. }
  16. });
  17.  
  18.  
  19.  


Ten post edytował fcppl 22.11.2022, 16:05:08
Go to the top of the page
+Quote Post
nospor
post 22.11.2022, 16:18:32
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Ja nie wiem... nie uzywam tinymce w ogole, ale 3 minuty googlania i mam dzialajacy kod

Kod
tinymce.init({
  selector: 'textarea#custom-toolbar-button',
  toolbar: 'customInsertButton customDateButton',
  setup: function (editor) {

    editor.ui.registry.addButton('customInsertButton', {
      text: 'My Button',
      onAction: function (_) {
        editor.setContent(editor.getContent().replace('CO', 'NA CO'));
        
      }
    });

i juz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
fcppl
post 25.11.2022, 09:16:46
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.04.2010

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


dziękuję o to mi chodziło i wszystko działa idealnie

witam,

Napotkałem jeszcze jeden problem.

Jeżeli chce zmienić nazwę z polskimi literami np: Wysokość niestety nic nie działa, ale jak wpisze Wysokośćo (dodam o na końcy) wtedy zmiana działa poprawnie.

W samym skrypcie z pierwszego posta dokładnie występuje ten sam problem.

Zaznaczam że szukałem rozwiązania w googlach ale nie potrafię nić na ten temat wyszukać. Sam też coś tam testowałem i niestety też sobie nie poradziłem.

Proszę o jakąś wskazówkę, a jeżeli jest możliwość o przykład.

Tak wygląda moje gotowe ustawienia Tinymce:

  1. tinymce.init({
  2. selector: "#product_desc",
  3. plugins: 'code | table | link | image | paste',
  4. toolbar: 'code | table | undo redo | link | image | alignleft aligncenter ' + 'alignright alignjustify | blocks | ' + 'bold italic | myCustomToolbarButton',
  5. menubar: 'tools | table tabledelete | tableprops tablerowprops tablecellprops | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol | link | image',
  6. table_default_attributes: {},
  7. table_default_styles: {},
  8. height : "900",
  9. paste_as_text: true,
  10. entities : "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,r
    eg,8482,trade,8240,permil,60,lt,62,gt,8804,le,8805,ge,176,deg,8722,minus",
  11. invalid_styles: {
  12. 'table': 'width height',
  13. 'tr' : 'width height',
  14. 'th' : 'width height',
  15. 'td' : 'width height'
  16. },
  17. setup: function (editor) {
  18. editor.ui.registry.addButton('myCustomToolbarButton', {
  19. text: 'Tłumaczenie',
  20. onAction: function () {
  21. editor.setContent(editor.getContent()
  22.  
  23.  
  24.  
  25. .replace(/\bWysokość\b/ugi, 'Nowa nazwa')
  26.  
  27. );
  28. }
  29. });
  30. }
  31. });


witam, czy może mi ktoś pomoc?

z tego co ustaliłem to powoduje to replace(/\bWysokość\b/ugi, 'Nowa nazwa') - (\bxxx\b). Jednak dalej nie wiem jak ten problem rozwiązać. I problem występuję tylko jak na końcu słowa jest znak PL np: słowo Sprężyna zamienia dobrze.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 22:13