Heim > Web-Frontend > js-Tutorial > Benutzerdefinierte JavaScript- und PHP-Funktionen, die URL-Adressen im Text in anklickbare Links umwandeln_Javascript-Fähigkeiten

Benutzerdefinierte JavaScript- und PHP-Funktionen, die URL-Adressen im Text in anklickbare Links umwandeln_Javascript-Fähigkeiten

WBOY
Freigeben: 2016-05-16 16:40:51
Original
1961 Leute haben es durchsucht

Wenn ich heutzutage ein kleines Programm schreibe, muss ich reguläre Ausdrücke verwenden, um die URL-Adresse im vom Benutzer eingegebenen Text abzugleichen, und dann die URL-Adresse durch einen anklickbaren Link ersetzen. URL-Adressabgleich, ich denke, das sollte jeder häufig bei der Verifizierungsverarbeitung verwenden. Hier ist ein relativ vollständiger Ausdruck, den ich integriert habe:

Code kopieren Der Code lautet wie folgt:

var URL = /(https?://|ftps?://)?((d{1,3}.d{1,3}.d{1,3}.d{1,3})(: [0-9] )?|(localhost)(:[0-9] )?|([w] .)(S )(w{2,4})(:[0-9] )?)(/ ?([w#!:.? =&%@!-/] ))?/ig;

Dieser Ausdruck kann URL-Adressen von http, https, ftp, ftps und IP-Adressen zuordnen. Es handelt sich immer noch um eine relativ vollständige Berechnung des URL-Adressabgleichs. Mit diesem Ausdruck habe ich zwei kleine Funktionen geschrieben, um die URL-Adresse der Nachricht des Benutzers durch einen anklickbaren Link zu ersetzen. Es ist nicht allzu schwierig, die URL durch einen Link zu ersetzen

JavaScript-Version:

Code kopieren Der Code lautet wie folgt:
/**
*JavaScript-Version
* Konvertieren Sie die URL-Adresse in einen vollständigen A-Tag-Linkcode
​*/
var replaceURLToLink = Funktion (Text) {
text = text.replace(URL, Funktion (URL) {
            var urlText = url;
Wenn (!url.match('^https?://')) {
               url = 'http://' url;
            }
                return '' urlText '';
});
Rückgabetext;

};

PHP-Version:

Code kopieren Der Code lautet wie folgt:

/**
* PHP-Version basierend auf Silva-Code modifiziert
* Konvertieren Sie die URL-Adresse in einen vollständigen A-Tag-Linkcode
​*/
/**===========================================
 NAME        : replace_URLtolink()
 VERSION     : 1.0
 AUTOR      : J de Silva
 BESCHREIBUNG: gibt VOID zurück; kümmert sich um die Konvertierung
 URLs in anklickbare Links aus einer Zeichenfolge umwandeln.
 TYP        : Funktionen
 ===========================================*/

Funktion replace_URLtolink($text) {
    // nimm alles, was wie eine URL aussieht...
    $urls = array();
   
    // die Muster erstellen
    $scheme = '(https?://|ftps?://)?';
    $www = '([w] .)';
    $local = 'localhost';
    $ip = '(d{1,3}.d{1,3}.d{1,3}.d{1,3})';
    $name = '([w0-9] )';
    $tld = '(w{2,4})';
    $port = '(:[0-9] )?';
    $the_rest = '(/?([w#!:.? =&%@!-/] ))?';
    $pattern = $scheme.'('.$ip.$port.'|'.$www.$name.$tld.$port.'|'.$local.$port.')'.$the_rest;
    $pattern = '/'.$pattern.'/is';
   
    // Holen Sie sich die URLs
    $c = preg_match_all($pattern, $text, $m);
   
    if ($c) {
        $urls = $m[0];
    }
   
    // Alle URLs ersetzen
    if (! empty($urls)) {
        foreach ($urls als $url) {
            $pos = strpos('http://', ​​$url);
           
            if (($pos && $pos != 0) || !$pos) {
                $fullurl = 'http://'.$url;
            } sonst {
                $fullurl = $url;
            }
           
            $link = ''.$url.'';
           
            $text = str_replace($url, $link, $text);
        }
    }
   
    gib $text zurück;
}

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage