Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Zmiana tresci w textarea TinyMCE
Forum PHP.pl > Forum > Przedszkole
fcppl
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.
fcppl
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.
viking
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ś.
fcppl
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.  
nospor
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
fcppl
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.