Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Replace Funktion in Blockly

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Replace Funktion in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rushmed Most Active @mickym last edited by Rushmed

      @mickym Klingt interessant, wie kann ich besser als oben gezeigt Sonder und Leerzeichen in eine lesbare Form bringen?

      Ä	Lateinischer Großbuchstabe Umlaut A	        %C3%84	
      Ö	Lateinischer Großbuchstabe Umlaut O	        %C3%96	
      Ü	Lateinischer Großbuchstabe Umlaut U	        %C3%9C	
      ß	Lateinischer Kleinbuchstabe Scharfes s	        %C3%9F
      ä	Lateinischer Kleinbuchstabe Umlaut a	        %C3%A4
      ö	Lateinischer Kleinbuchstabe Umlaut o	        %C3%B6
      ü	Lateinischer Kleinbuchstabe Umlaut u	        %C3%BC	
      ẞ	Lateinischer Großbuchstabe Scharfes S[1]	%E1%BA%9E
              Leerzeichen                                     %20
      
      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Rushmed last edited by mickym

        @rushmed sagte in Replace Funktion in Blockly:

        Dafür gibt es auch ein JS function - wie Du das in Blockly einbindest weiß ich nicht weil ich das nicht nutze:

        decodeURI("%C3%84");
        

        d11df7e4-3269-4aaf-905a-ad0cbc04e434-image.png

        Also einfach Dein String der URL der decoodeURI() Funktion übergeben.

        https://www.w3schools.com/jsref/jsref_decodeuri.asp

        decodeURI("%C3%84\n\
        %C3%96\n\
        %C3%9C\n\
        %C3%9F\n\
        %C3%A4\n\
        %C3%B6\n\
        %C3%BC\n\
        %E1%BA%9E\n\
        Leerzeichen -%20-"
        );
        

        545ca7ea-1d34-4e7f-9f59-23adaa3ecec3-image.png

        Also einfach den ganzen Text - String decodeURI übergeben und die Sonderzeichen werden ersetzt.

        R 1 Reply Last reply Reply Quote 0
        • R
          Rushmed Most Active @mickym last edited by Rushmed

          @mickym Wenn ich jetzt mit:

          let str_1 = Eingabe;
          str_1 = str_1.decodeURI(Eingabe);
          return str_1;
          

          und
          f7bf7bfa-35ca-498a-bfec-668d502a8942-grafik.png
          probiere erhalte ich:

          21:04:17.905	error	javascript.0 (19856) script.js.Alexa_Handy_Benachrichtigungen: TypeError: str_1.decodeURI is not a function
          21:04:17.906	error	javascript.0 (19856) at DecodeURI (script.js.Alexa_Handy_Benachrichtigungen:15:19)
          21:04:17.906	error	javascript.0 (19856) at script.js.Alexa_Handy_Benachrichtigungen:69:19
          21:04:17.906	error	javascript.0 (19856) at script.js.Alexa_Handy_Benachrichtigungen:73:3
          
          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Rushmed last edited by

            @rushmed

            Du musst eine richtige Funktion definieren - wie gesagt bin kein Blockly spezi:

            function decode(Eingabe){
                return decodeURI(Eingabe);
            }
            

            So ich habe mal die function decode genannt.

            1 Reply Last reply Reply Quote 0
            • R
              Rushmed Most Active last edited by Rushmed

              @mickym Damit kommt zumindest undefined zurück.
              Warum war in´m ersten Post dieses Freds die Definition einer Funktion nicht notwendig?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Rushmed last edited by mickym

                @rushmed sagte in Replace Funktion in Blockly:

                @mickym Damit kommt zumindest undefined zurück.

                Ich probier das auch gerade mit Blockly - kenn mich da aber nicht aus. Probiere es gerade so:

                return decodeURI(Eingabe);
                
                R 1 Reply Last reply Reply Quote 1
                • R
                  Rushmed Most Active @mickym last edited by Rushmed

                  @mickym Sensationell, das sieht schonmal gut aus.

                  Danke.

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Rushmed last edited by

                    @rushmed sagte in Replace Funktion in Blockly:

                    @mickym Sensationell, das sieht schonmal gut aus.

                    Danke.

                    Na ich glaub ich hab das auch nun kapiert mit dem Blockly:

                    41cad485-b55b-4649-8738-ad981102d160-image.png

                    Aber ich finde es doch umständlich. Wird nicht mein Tool. 😉

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Rushmed Most Active @mickym last edited by

                      @mickym So richtig klappts noch nicht.
                      Ich bekomme bspw. diesen String:

                      %E2%81%A8Prinzessin%E2%81%A9.Hey%20yo.%evtprm4.%evtprm5.%E2%81%A8Prinzessin%E2%81%A9
                      

                      und das Script sagt mir:

                      
                      21:48:05.317	error	javascript.0 (19856) script.js.Alexa_Handy_Benachrichtigungen: URIError: URI malformed
                      
                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Rushmed last edited by mickym

                        @rushmed Ja dann stimmt was an dem String nicht. Der Fehler kommt nur wenn was nicht klar ist. Die %ev mag er nicht!
                        Wenn man die % aus dem %ev raus macht geht es.
                        Sonst versucht das Teil das halt zu %ev interpretieren und ev ist nun mal kein HEX Wert

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          Rushmed Most Active @mickym last edited by

                          @mickym Ok, danke. Ich probier da morgen nochmal rum.

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Rushmed last edited by mickym

                            @rushmed sagte in Replace Funktion in Blockly:

                            @mickym Ok, danke. Ich probier da morgen nochmal rum.

                            Nun wie gesagt - weiss nicht woher der String ist - aber natürlich wird ein % im HTML immer codiert - wenn ich im originalen Text ein % vorhanden war - dann muss es auch richtig codiert werden.

                            Falls also die % Zeichen Bestandteil des Strings sein sollen, dann muss der String so heißen:

                            %E2%81%A8Prinzessin%E2%81%A9.Hey%20yo.%25evtprm4.%25evtprm5.%E2%81%A8Prinzessin%E2%81%A9
                            

                            Dann kommt das auch fehlerfrei raus:

                            2f0bce68-0b0b-436c-92bd-0d9f93589b67-image.png

                            Wenn Du solche Texte im Original hast - dann musst Du die halt umgekehrt richtig codieren lassen. Es gibt ja auch die Codierfunktion also encodeURI()

                            af9c29f8-24fc-4bd2-9f47-6a54d47627e4-image.png

                            Also einen String nur teilweise codieren bzw. decodieren funktioniert nicht - entweder konsequent alles oder sonst nichts. Sonst musst halt wieder mit Stringfunktionen arbeiten.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            531
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            blockly javascript
                            5
                            24
                            3124
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo