Ankündigung

Einklappen
Keine Ankündigung bisher.

String mit Parameter ersetzen

Einklappen

Neue Werbung 2019

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

  • String mit Parameter ersetzen

    Hallo,
    kurze Frage, wie kann ich einen String à la

    Code:
    {name=parameter}
    mit einer Funktion à la preg_replace, str_replace etc. in

    Code:
    parameter
    umwandeln?


    mfg
    Link

  • #2
    so ähnlich wie '/\{name=([^}]+)\}/'

    Kommentar


    • #3
      Du kannst bei preg_replace() mittels $1 ($2, $3..) auf im Suchmuster gruppierte Elemente zugreifen (sie sind mit () umschlossen), hier ein kleines Beispiel, wie ich mir einen BBCode-Ersetzer basteln würde:

      PHP-Code:
      <?php
      function prepareAsRegExp($sString)
      {
          return 
      '#' addcslashes($sString'[]=/#') . '#Uis';
      }

      $sString "[url =http://www.phpfriend.de]Link[ /url]"/* im Posting wird ja selbst BBCode ersetzt, entfern zum Testen die Leerzeichen vor = und / */

      $aBBCode = array(
        
      '[url=(.*)](.*)[/url]' => '[url="$1"]$2[/url]',
        
      '[url](.*)[/url]'      => '[url="$1"]$1[/url]');

      $aSearch  array_map('prepareAsRegExp'array_keys($aBBCode));
      $aReplace array_values($aBBCode);

      echo 
      preg_replace($aSearch$aReplace$sString);
      ?>

      Kommentar


      • #4
        Danke, so funktionierts.

        mfg
        Link

        Kommentar

        Lädt...
        X