Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19001720 - PREG_REPLACE - String durch Regex manipulieren/ersetzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Zitat von mars Beitrag anzeigen
    Hallo, ich brauche da Mal etwas Unterstützung:

    Du könntest es mit dem PHP-Function LBS machen.

    E1: <beliebige Zeichen>$unbekannt$<beliebige Ziffern>#|<beliebige Zeichen
    E2: preg_replace('/(.*\\$)unbekannt(\\$[0-9]+)#(\\|)/', '$1Rufumleitung$2$3', $E1);

    A1: <beliebige Zeichen>$Rufnummer$<beliebige Ziffern>|<beliebige Zeichen

    Kommentar


      #17
      vielen Dank Euch beiden (und zu welchen Zeiten seid Ihr eigentlich im Forum unterwegs ;-)

      givemeone vielleicht fällt Dir noch etwas ein. Der Tipp von jonofe funktioniert (fast): Es wird das erste Vorkommen ersetzt. Kann man das noch erweitern, so dass alle Vorkommen erstetzt werden?

      Gruß Marco

      Kommentar


        #18
        Mit kleinen Kindern ist man zu solchen Zeiten wach 😉

        ​​​​​​.. Nun, ich kann Regexp, aber preg_replace-callback macht mir Kopfzerbrechen. Ohne Callback, also mit php 6.x funktionierte es mit meinem Verständnis besser. Ich würde den LBS am Liebsten abgeben...

        Kommentar


          #19
          Zitat von mars Beitrag anzeigen
          Kann man das noch erweitern, so dass alle Vorkommen erstetzt werden?
          Alle Vorkommen von was? von $unbekannt oder auch #? Hast du mal einen exemplarischen String mit mehrfachem Vorkommen?

          Kommentar


            #20
            ... alle Vorkommen von $unbekannt$015123456789#| sollen ersetzt werden durch $Rufumleitung$015123456789|

            Ich versuche Mal einen Teststring (mit Namen und Tel.-Nrn per PN zu versenden - vielen Dank.

            Edit:
            PN zu Dir geht nicht. Der String enthält Telefonnummermn und Namen/Adressen, das möchte ich hier nicht öffentlich einstellen.
            Ich werde Mal einen anonymisierten Strimg erstellen.
            Zuletzt geändert von mars; 26.04.2020, 19:28.

            Kommentar


              #21
              Versuch mal wie oben, aber

              E2: preg_replace('/\\$unbekannt(\\$[0-9]+)#/', '$Rufumleitung$1', $E1);

              Kommentar


                #22
                ... es funktioniert
                Ich weiß zwar nicht was Du da zauberst, aber vielen Dank.

                Kommentar


                  #23
                  Hallo,

                  ich bräuchte mal Hilfe bei der Zerlegung folgender Strings:
                  E1: {"temperature": 2372}
                  und
                  E1: {"humidity": 4263}

                  Es sollen nur die Zahlen (auch ohne dem Leerzeichen) übrig bleiben. Im Falle der Temperatur könnte auch ein Minus vor der Zahl auftauchen.

                  Vielen Dank
                  Thomas

                  Kommentar


                    #24
                    Du versuchst scheinbar einen JSON String sehr kreativ auseinanderzunehmen. Nimm doch einen der JSON Extractor LBS.

                    Kommentar


                      #25
                      Vielen Dank vento66!
                      Das hast Du richtig erkannt. Ich habe einen LBS heruntergeladen und getestet. Das Ergebnis ist das was ich wollte und Du hast meine Kreativität bei der weiteren Zerlegung gestoppt....
                      Ich arbeite mich gerade erst in das MQTT ein. Also bitte um Verzeihung für die dumme Frage.
                      Grüße
                      Thomas

                      Kommentar


                        #26
                        GutenTag Zusammen,

                        ich bekomme über http diesen Wert in ein iKo zurück.

                        <!DOCTYPE html><html lang="de"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>WLAN Passwort</title></head><body><h1>304253291</h1><h3>Gültig bis Sonntag 24 Uhr</h3><h3 style="color:red">Die Anmeldung ist inaktiv</h3><Button onclick="changePassword()">Neues Passwort setzen</Button> <Button onclick="deactivatePassword()">Anmeldung aktivieren</Button></body><script> function deactivatePassword() {const xhr = new XMLHttpRequest()


                        Kann ich mit diesem Bausstein den Wert "304253291" herausfiltern. Der wert ändert sich aber alle 24h. Wenn ja wie mache ich das?
                        Zuletzt geändert von elkomaster91; 19.10.2022, 07:30.

                        Kommentar


                          #27
                          Zitat von elkomaster91 Beitrag anzeigen
                          Der wert ändert sich aber alle 24h. Wenn ja wie mache ich das?
                          Ich würde den preg_match LBS 19001261 verwenden.

                          E1: deinen String
                          E2: /<h1>(.*)<\/h1>/
                          E3: 1
                          E4: leer

                          Ungetestet, aber so ungefähr sollte es funktionieren.
                          Zuletzt geändert von jonofe; 19.10.2022, 14:09. Grund: Korrektur: Ergänzung \

                          Kommentar


                            #28
                            Zitat von jonofe Beitrag anzeigen
                            E1: deinen String
                            E2: /<h1>(.*)</h1>/
                            E3: 1
                            E4: leer
                            So geht es leider noch nicht

                            Kommentar


                              #29
                              Zitat von elkomaster91 Beitrag anzeigen
                              So geht es leider noch nicht
                              Online kann man verifizieren, dass zumindest der Filterstring stimmt:

                              pregmatch.png
                              Was kommt denn aus dem LBS raus? Evtl. muss man die Eingänge noch anders belegen...

                              Kommentar


                                #30
                                Zitat von jonofe Beitrag anzeigen
                                Was kommt denn aus dem LBS raus? Evtl. muss man die Eingänge noch anders belegen...
                                Jetzt geht es. Vielen Dank dir! Es hat ein \ gefehlt. In deinem Screenshoot habe ich gesehen, das es etwas anders ist und damit geht es.

                                E2: /<h1>(.*)<\/h1>/

                                Kommentar

                                Lädt...
                                X