Regulärer Ausdruck / Url in Text finden

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von stuzfuz, 09.04.2009.

  1. #1 stuzfuz, 09.04.2009
    stuzfuz

    stuzfuz Eroberer

    Dabei seit:
    14.11.2008
    Beiträge:
    72
    Zustimmungen:
    0
    Hallo,

    ich würde gerne aus einen Text den der User eingibt die url raussuchen und diese dann als Link ausgeben.
    Bsp.: www.google.at soll zu
    Code:
    <a href="http://www.google.at">www.google.at</a>
    
    werden
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bitmuncher, 09.04.2009
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Beispiel mit Perl-Regex:
    Code:
    #!/usr/bin/perl -w
    
    open FILE, "test.html";
    my $line;
    
    while ($line = <FILE>) {
        if($line =~ /href="(.*)".*/) {
    	print $1."\n"; # $1 enthaelt die URL
        }
    }
    
     
  4. #3 stuzfuz, 09.04.2009
    stuzfuz

    stuzfuz Eroberer

    Dabei seit:
    14.11.2008
    Beiträge:
    72
    Zustimmungen:
    0
    sorry hab ich eventuell vergessen dazuzuschreiben, brauch es für PHP.

    Danke
     
  5. #4 slackfan, 09.04.2009
    slackfan

    slackfan König

    Dabei seit:
    18.04.2006
    Beiträge:
    809
    Zustimmungen:
    0
    Ort:
    Bonn
    PHP:
    <?php

    $subject 
    'Das ist ein Text mit einem <a href="#link" title="spannender Link">Link</a> und einem weiteren sehr spannenden <a href="#link2" title="spannender Link">spannenden Link</a>.';
    $pattern '/href="(.*)"/Ui';

    preg_match_all($pattern$subject$matches);

    var_dump($matches);

    ?>
    So?
     
  6. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.053
    Zustimmungen:
    8
    ich fürchte, er will es genau anders herum - und das ist nicht so einfach.

    woran erkennt man denn, das ein frei eingegebener Text eine URL enthält, wenn die typischen Charakteristika wie http:// und ähnliches nicht enthalten sind?
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 slackfan, 09.04.2009
    Zuletzt bearbeitet: 09.04.2009
    slackfan

    slackfan König

    Dabei seit:
    18.04.2006
    Beiträge:
    809
    Zustimmungen:
    0
    Ort:
    Bonn
    PHP:
    <?php

    $pattern1 
    "/^(?:ftp|https?):\/\/(?:(?:(?:[\w\.\-\+!$&'\(\)*\+,;=]|%[0-9a-f]{2})+:)*(?:[\w\.\-\+%!$&'\(\)*\+,;=]|%[0-9a-f]{2})+@)?(?:(?:[a-z0-9\-\.]|%[0-9a-f]{2})+|(?:\[(?:[0-9a-f]{0,4}:)*(?:[0-9a-f]{0,4})\]))(?::[0-9]+)?(?:[\/|\?](?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})*)?$/i";

    $pattern2 "/^(?:[\w#!:\.\?\+=&@$'~*,;\/\(\)\[\]\-]|%[0-9a-f]{2})+$/i";

    ?>
    Achso,

    da müsste er sich RFC3986 durchlesen, um das korrekt zu handeln. Die RFC behandelt aber bestimmt keine so seltsamen Dinge wie fehlende Protokoll-Handler. URLs ohne Protokoll-Handler sind eh doof. Da würde ich es mir einfacher machen und versuchen, das den Leuten abzugewöhnen.

    Die Pattern hier stammen aus Drupal6. Die sind zwar good-enough aber vollständig konform sind beide nicht. Die müsstest du dann aufbohren oder Wort für Wort vorgehen, was wohl nicht sehr performant sein dürfte.
     
  9. #7 Always-Godlike, 09.04.2009
    Always-Godlike

    Always-Godlike Das Freak

    Dabei seit:
    31.12.2006
    Beiträge:
    939
    Zustimmungen:
    0
    Ort:
    Saarland
Thema:

Regulärer Ausdruck / Url in Text finden

Die Seite wird geladen...

Regulärer Ausdruck / Url in Text finden - Ähnliche Themen

  1. regulärer ausdruck mit awk

    regulärer ausdruck mit awk: Hi leute, hab in einer Variable die Ip Adresse gespeichert und wurde es gerne mit awk prufen obs auch wirklich ip adressen format hat. ich...
  2. eingehende Emails direkt ausdrucken....EXIM?

    eingehende Emails direkt ausdrucken....EXIM?: Hallo Gemeinde, ich muss eingehende Bestellungen per Email täglich abfangen und einsortieren - wichtig ist dabei das diese Emails bestätigt...
  3. nur mehrfach vorkommende ausdrucke ausgeben

    nur mehrfach vorkommende ausdrucke ausgeben: Hallo, habe eine datei "test" das aus 2 Spalten besteht getrennt mit ">". Wie gebe ich nur die Zeilen aus bei dennen die erste Spalte (also...
  4. awk Variable als regulären Ausdruck brauchen

    awk Variable als regulären Ausdruck brauchen: Ich will in awk eine Variable als regulären Ausdruck brauchen. Das hat eigentlich soweit auch geklappt, nur wenn ich einen String mit einem...
  5. Ältestes Textfile aus einem Verzeichnis ausdrucken.

    Ältestes Textfile aus einem Verzeichnis ausdrucken.: ls *.txt -1t|tail -1 Dieser Befehl druckt mir das älteste *.txt-File aus dem aktuellen Verzeichnis aus (1=Spalte, t=sortiert nach Zeit und tail...