kostenloser Webspace werbefrei: lima-city


Alternative zu eregi_replace ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mhban

    mhban hat kostenlosen Webspace.

    Hallo

    ich habe in meinem Code ein erei_replace()
    while(list($key, $val)=each($toreplace)) {
    $tpl_data = eregi_replace("\{$key\}","$val", $tpl_data);
    }



    und es kommt die Fehlermeldung
    Deprecated: Function eregi_replace() is deprecated


    wie soll ich es umschreiben, damit es wieder funktioniert ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. php.net ...
    Use it. Really. Use it.
  4. Autor dieses Themas

    mhban

    mhban hat kostenlosen Webspace.

    Hallo, habe jetzt 2 Möglichkeiten rausgefunden

    welche iste besser ?

    str_ireplace()
    foreach($toreplace as $key => $value) { 
    $tpl_data = str_ireplace('{'.$key.'}',$value, $tpl_data);
    }


    preg_replace()
    foreach($toreplace as $key => $value) { 
    $tpl_data = preg_replace('|{'.$key.'}|i',$value, $tpl_data);
    }


    beides funktioniert

    PS: und foreach() gefällt mir besser als while() ....




    Beitrag zuletzt geändert: 20.10.2011 18:30:23 von mhban

  5. Die Funktion gibt einen String oder ein Array zurück, in dem alle Vorkommen von search innerhalb von subject unabhängig von deren Groß- oder Kleinschreibung gegen den entsprechenden replace-Wert ausgetauscht wurden. Sofern Sie keine speziellen Ersetzungsregeln verwenden, sollten Sie diese Funktion grundsätzlich anstelle von preg_replace() mit i-Modifier verwenden.


    PHP.net in der Beschreibung von str_ireplace
  6. Autor dieses Themas

    mhban

    mhban hat kostenlosen Webspace.

    schön, dieser "Vorlese Service" :) ^^

    also ist wohl str_ireplace Ressourcen-sparender ist als preg_replace() mit i-Modifier
    werde dann also diese Funktion verwenden (denn ich habe ja nur "Strings" zu ersetzen)

    Danke!

    Edit:
    eigentlich brauch ich ja garkein foreach(), ich könnte die Platzhalter und die Werte dazu
    ja auch gleich in str_ireplace einsetzen

    $tpl_data = str_ireplace($keyarray,$valarray, $tpl_data);

    aber ob das viel bringt, es so umzubauen .... dazu muss ich auch die Ausgangsdaten umbauen,
    die jetzt noch in einem Arrray sind und dafür bräuchte ich ja aber für keys und values je ein Array
    ... ich glaub so passt es schon. Danke!


    Beitrag zuletzt geändert: 21.10.2011 11:07:35 von mhban
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!