Suchen & Ersetzen - Nur entsprechende Paarungen bearbeiten

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

  • Suchen & Ersetzen - Nur entsprechende Paarungen bearbeiten

    Code:
    {if a = b}
    {elseif a = c}
      {if x = y}
      {endif}
    {else}
    {endif}
    
    {if x = z}
    {endif}
    Soll ersetzt werden zu
    Code:
    {if zufall a = b}
    {elseif zufall a = c}
      {if x = y}
      {endif}
    {else zufall}
    {endif zufall}
    
    {if zufall2 x = z}
    {endif zufall2}
    Wie geht das am schnellsten?

    Ich würde gerne, wenn möglich, ohne regex arbeiten.

    Momentan (1 Regex, sonst nur str_replace und Co):
    preg_match_all von if zu endif (Gier durch Modifier U unterdrückt)
    1. Code:
      {if a = b}
      {elseif a = c}
        {if x = y}
        {endif}
    2. Code:
      {if x = z}
      {endif}


    Text "nachladen", bis dass Anzahl if und Anzahl endif identisch
    1. Code:
      {if a = b}
      {elseif a = c}
        {if x = y}
        {endif}
      {else}
      {endif}
    2. Code:
      {if x = z}
      {endif}


    Erstes if und letztes elseif ersetzen
    1. Code:
      {qwertz a = b}
      {elseif a = c}
        {if x = y}
        {endif}
      {else}
      {qwertz}
    2. Code:
      {qwertz x = z}
      {qwertz}


    Alle noch vorhanden if - endif Blöcke auslesen und ersetzen
    1. Code:
      {qwertz a = b}
      {elseif a = c}
        backup
      {else}
      {qwertz}
    2. Code:
      {qwertz x = z}
      {qwertz}

    qwertz durch if, bzw. endif ersetzen und "zufall" an alle if, elseif, else oder endif anfügen
    Code:
    {if zufall a = b}
    {elseif zufall a = c}
      backup
    {else zufall}
    {endif zufall}
    
    {if zufall2 x = z}
    {endif zufall2}
    Zwischengespeicherten Block ersetzen
    Code:
    {if zufall a = b}
    {elseif zufall a = c}
      {if x = y}
      {endif}
    {else zufall}
    {endif zufall}
    
    {if zufall2 x = z}
    {endif zufall2}
    Anregungen erwünscht!
    Ich denke, also bin ich. - Einige sind trotzdem...

  • #2
    Ich mach's jetzt doch wieder so wie vorher (reguläre Ausdrücke sind toll für den Zweck )

    War beim Parsen zwar langsamer als Smarty, aber kaum nimmt man highlight_string raus und verzichtet auf die Ausgabe des generierten Codes, schon ist man da auch schneller
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar

    Lädt...
    X