[REGEX] Problem mit Referenzen

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

  • mrhappiness
    antwortet
    PHP-Code:
    $url explode('.'$url2);
    echo 
    implode($zahl.'.'$url); 

    Einen Kommentar schreiben:


  • prego
    antwortet
    Danke onemorenerd - die Idee hatte ich auch eben und habs schon umgesetzt. Ich laß es auch jetzt so.

    Ich werde mich wohl noch ein wenig mehr mit Referenzen in regulären ausdrücken vertraut machen müssen.

    Dank euch.

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Ich finde preg_replace() hierfür etwas overkillig©.
    PHP-Code:
      $url 'http://thirdlevel.example.com';
    $zahl 2;
    $firstdot strpos($url'.');
    echo 
    substr($url0$firstdot).$zahl.substr($url$firstdot); 

    Einen Kommentar schreiben:


  • prego
    antwortet
    Explode wäre eine Idee, dann muss ich aber vorher die Sache mit parse_url auseinandernehmen und dann wieder zusammen bauen. Sagen wir so, das wäre für mich die nächste Lösung.
    Ich würde es aber gerne mit der RegExp schaffen, auch um mich noch ein wenig mehr damiz zu beschäftigen.

    Soweit bin jetzt:
    PHP-Code:
    <?php
      $url 
    "http://thirdlevel.example.com";
      
    $zahl 2;
      
      
    $regex "!http:\/\/(\w+)\.!eU";
      
    $url_new preg_replace($regex'$1."$zahl"'$url);
      
      echo 
    $url_new// gibt "thirdlevel2example.com" aus.
    ?>
    Ob Ungreedy oder nicht, macht keinen Unterschied. Ich habe aber immernoch das Problem.
    Irgendwie verstehe ich nicht, warum das "http.." mitersetzt wird...

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    Warum nicht mit explode?

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Den Punkt mußt du noch escapen und eine Klasse brauchts dafür auch nicht. Also '\.' statt '[.]'. Außerdem wäre der Modifier U angebracht, denn es soll ja unbedingt der erste Punkt sein.

    Einen Kommentar schreiben:


  • Trashar
    antwortet
    Mal ungetestet:

    PHP-Code:
    <?php
      $url 
    "http://thirdlevel.example.com";
      
    $zahl 2.".";

      
    $regex "!http://(w+)[.]!e";
      
    $url_new preg_replace($regex'$1.$zahl'$url);
      
      echo 
    $url_new;
    ?>
    MfG

    Einen Kommentar schreiben:


  • prego
    hat ein Thema erstellt [REGEX] Problem mit Referenzen.

    [REGEX] Problem mit Referenzen

    Hi,

    ich hab ein kleines Verständnissproblem mit den Referenzen bei Regulären-Ausdrücken.

    Folgendes möchte ich ereichen.

    PHP-Code:
    <?php
      $url 
    "http://thirdlevel.example.com";
      
      
    //...
      
      
    echo $url_new// gibt "http://thirdlevel2.example.com" aus
    ?>

    Ich brauche also eine RegEx die den Text zwischen "http://" und dem ersten "." rausnimmt, eine Zahl dranhängt und wieder einsetzt.
    preg_replace() scheint mir geeignet.

    Mein Ansatz war folgender;

    PHP-Code:
    <?php
      $url 
    "http://thirdlevel.example.com";
      
    $zahl 2;

      
    $regex "![url]http://[/url](\w+)[.]!";
      
    $url_new preg_replace($regex"$1".$zahl$url);
      
      echo 
    $url_new// gibt leider nur "example.com" aus.
    ?>
    Wenn ich $zahl weglasse und nur "$1" nutze kommt "thirdlevelexample.com" herraus.

    Hier nochmal die benutzte RegEx, weil der BBCode es verschandelt.
    $regex = "!http://(\w+)[.]!";

    Ich dachte durch die mit den () in der Regex gebe ich den Teil an, der die Referenz bildet und somit nur ersetzt wird.

    Any ideas?
Lädt...
X