Ergebnis 1 bis 9 von 9

Thema: preg_replace durch Funktion ersetzen?

  1. #1
    Unregistriert
    Gast

    Standard preg_replace durch Funktion ersetzen?

    Hallo,

    ich suche schon lange nach einer Möglichkeit, einen String nach einem bestimmten Wort zu durchsuchen und dieses, wenn es gefunden wurde, durch eine in PHP geschriebene Funktion zu ersetzen.

    Bsp:

    function neue_funktion()
    {
    $i = 5 + 3;
    echo $1;
    }
    $string = "Ich mag PHP!";
    $suchen = "mag";
    $neuer_String = preg_replace($suchen, neue_funktion(), $string);

    Hat jemand eine Idee, wie man das Problem lösen kann oder ob man es überhaupt lösen kann? Ich habe schon so ziemlich alles ausprobiert...
    Danke
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Wenn deine Funktion einen Wert zurückgibt, geht das, ein echo reicht nicht. Wobei allerdings ein str_replace völlig ausreicht, man muss nicht gleich mit Kanonen auf Spatzen schießen, um ein einfaches Ersetzen zu erreichen.

  3. #3
    Unregistriert
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Das Problem ist nur, dass ich in der Funktion HTML "erzeuge" und einige Schliefen verwende.

    Wie kann ich das alles denn zu einem "String" zusammenfügen, um es über return zurück zugeben?

  4. #4
    Bandit
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Ich freue mich, an dieser Stelle ein Grundlagenkurs geben zu dürfen
    PHP-Code:
    <?php
       
    function createString()
       {
           
    $result "Ich zähle bis 10:";
           
           for (
    $i 1$i <= 10$i++)
             
    $result .= $i";
             
           return 
    $result;
       }
       
       echo 
    createString();
    ?>

  5. #5
    Unregistriert
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Stimmt, da war ja was...

    Vielen Dank für die schnelle Hilfe

  6. #6
    Unregistriert
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Jetzt habe ich doch nochmal ne Frage...

    Ich will aus einem Text die HTML Codes von Bildern suchen und den src der Bilder verändern (durch eine Funktion):

    PHP-Code:
    function cut_image_path($pfad_alt)
        {
            
    $neu explode("/"$pfad_alt);
            
    $pfad_neu 'src="'.$neu[0].'/'.$neu[2].'"';
            return 
    $pfad_neu;
        }


    $regex '#(src=")(.*)(")#e';
    $str preg_replace($regexcut_image_path($2), $str);
    echo 
    $str
    Das funktioniert aber nur, wenn ich der Funktion keinen Wert übergebe (in diesem Fall $2, denn das enthält ja das, was zwischen dem src=" ... " steht).
    Ich muss aber etwas übergeben, da ich ansonsten nichts verändern kann.

    Liegt es an einer falschen Schreibweise oder funktioniert das garnicht?

  7. #7
    Bandit
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Aus der Doku (ja, die gibt es wirklich)
    Grundlegendes

    Variablen werden in PHP dargestellt durch ein Dollar-Zeichen ($) gefolgt vom Namen der Variablen. Bei Variablen-Namen wird zwischen Groß- und Kleinschreibung unterschieden (case-sensitive).
    Variablen-Namen werden in PHP nach den gleichen Regeln wie andere Bezeichner erstellt. Ein gültiger Variablen-Name beginnt mit einem Buchstaben oder einem Unterstrich ("_"), gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen.
    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  8. #8
    Unregistriert
    Gast

    Standard AW: preg_replace durch Funktion ersetzen?

    Ja das is mir schon bewusst

    Nur benennt preg_replace die Variabelen doch $1, $2, $3, usw.
    Da habe ich keinen Einfluss drauf:

    replacement darf Referenzen in der Form \\n oder (ab PHP 4.0.4) $n enthalten, wobei Letztere vorzuziehen ist. Jede dieser Referenzen wird mit dem Text ersetzt, der vom n-ten eingeklammerten Suchmuster erfasst wurde. n kann einen Wert von 0 bis 99 haben. \\0 oder $0 beziehen sich auf den Text, der auf das komplette Suchmuster passt. Um die Nummer des erfassenden Teil-Suchmusters zu erhalten, werden öffnende Klammern mit 1 beginnend von links nach rechts gezählt. Um einen Backslash im Ersatz zu verwenden, muss er verdoppelt werden ("\\\\" PHP-Zeichenkette).

  9. #9
    Samurai
    Registriert seit
    21.08.2011
    Beiträge
    233
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_replace durch Funktion ersetzen?

    $zwei = $2

Ähnliche Themen

  1. kurzer Tag durch langen PHP Code ersetzen? preg_replace?
    Von Telmata im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 36
    Letzter Beitrag: 08.02.2009, 12:19
  2. Modem durch Router ersetzen
    Von im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 08.04.2008, 17:40
  3. Logo durch Flash ersetzen
    Von agav im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 1
    Letzter Beitrag: 20.12.2007, 07:38
  4. png bei älteren browsern durch gif ersetzen
    Von mfire im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 27.08.2007, 18:09
  5. Tasten durch Gif´s ersetzen?
    Von darkblue im Forum HTML & CSS Forum
    Antworten: 13
    Letzter Beitrag: 11.08.2005, 16:32

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •