Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex

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

  • Regex

    Hallo.

    Ich habe eine Frage zu Regulären Ausdrücken. Hierzu folgendes Szenario, welches ich zur Entwicklung eines Plugins benötige.

    Ich habe einen String, welcher im Moment nach folgenden Ausdrücken sucht:

    {slider id="1" title="Enter Title" direction="0"}..Enter Text..{sliderEnd}

    PHP-Code:
    const PATTERN '/[\{]{1}slider(\s+(id)="([^"]+)"){1}(\s+(title)="([^"]+)"){1}(\s+(direction)="([^"]+)"){1}(\s+(active)="([^"]+)")?(\s+(cssSuffix)="([^"]+)")?(\s+(desc)="([^"]+)")?(\s+(closeDep)="([^"]+)")?(\s+(duration)="([^"]+)")?([\}]{1})(.*)([\{]{1}sliderEnd[\}]{1})/sU'
    anschließend werden die Werte von title, direction und der Inhalt dazwischen weiterverarbeitet. Problem hierbei ist, dass das schließende Tag ({sliderEnd}) nicht dem öffnenden zugeordent ist und ich somit keine Verschachtelungen erstellen kann.

    Ich möchte nun meinen Ausdruck wie folgt umbauen:

    {slider id="1" title="Enter Title" direction="0"}..Enter Text..{sliderEnd id="1"}

    und suche hierzu nun den passenden Regex, damit auch folgendes möglich ist:

    {slider id="1" title="Enter Title" direction="0"}
    {slider id="2" title="Enter Title" direction="0"}..Enter Text..{sliderEnd id="2"}
    {sliderEnd id="1"}

    Ich hoffe, ich habe mich verständlich ausgedrückt und danke im Voraus für hilfreiche Anregungen.

    Gruß Stephan


  • #2
    Ich würde die Slider-Sprache zu XML umbauen - danach wird alles ganz einfach

    Viele Grüße!

    Kommentar


    • #3
      Das ist leider nicht möglich, da die Konvention vorgegeben ist.

      Kommentar


      • #4
        Sieht so aus wie ein Problem, das ich auch mal gehabt habe: http://www.php.de/php-einsteiger/529...chenkette.html

        Kommentar


        • #5
          Hi Asipak.

          Ja, das sieht aus als wäre es genau mein Problem. DAnke für deine Hilfe.

          Grüße

          Kommentar

          Lädt...
          X