Wenn Sie heutzutage ein Mini -Programm schreiben, müssen Sie regelmäßige Ausdrücke verwenden, um die URL -Adresse im vom Benutzer eingegebenen Text zu entsprechen, und dann die URL -Adresse durch einen Link ersetzen, auf den Sie klicken können. Ich denke, das ist es, was Sie oft in der Verifizierungsverarbeitung verwenden. Hier werde ich einen relativ vollständigen Ausdruck geben, den ich integriert habe:
Die Codekopie lautet wie folgt:
var url = /(https?:///|ftps?:////)?(/d </des1,3}/./des1.3}/./des <.3}/./des <3tes ocalhost) (: [0-9]+)? | ([/w]+/.) (/s+) (/w {2,4}) (: [0-9]+)?) (//? ([/w#!:.?+= &%@! //]+))?/ig;
Dieser Ausdruck kann mit den URL -Adressen von HTTP-, HTTPS-, FTP-, FTPS- und IP -Adressen übereinstimmen. Es ist immer noch sehr perfekt für die Anpassung der URL -Adresse. Mit diesem Ausdruck habe ich zwei kleine Funktionen geschrieben, um die URL -Adresse der Nachricht des Benutzers durch einen klickbaren Link zu ersetzen. Es gibt nichts zu schwierig. Es wird die Funktion JavaScript ersetzt () verwendet, um die Ersatz -URL zu implementieren, um zu verknüpfen:
JavaScript -Version:
Die Codekopie lautet wie folgt:
/**
* JavaScript -Version
* Umwandeln Sie die URL-Adresse in einen vollständigen A-markierten Linkcode
*/
var ersatzreintolink = function (text) {
text = text.replace (url, function (url) {
var urlText = url;
if (! url.match ('^https?: ////')) {
url = 'http: //' + url;
}
return '' + urlText + '';
});
Text zurückgeben;
};
PHP -Version:
Die Codekopie lautet wie folgt:
/**
* Die PHP -Version wird basierend auf dem Silva -Code geändert
* Umwandeln Sie die URL-Adresse in einen vollständigen A-markierten Linkcode
*/
/** =====================================================================
Name: ersetzen_urltolink ()
Version: 1.0
Autor: J de Silva
Beschreibung: Rückgabe ungültig; Griffe konvertieren
URLs in anklickbare Links aus einer Zeichenfolge.
Typ: Funktionen
=============================================================*////
Funktion ersetzen_urltolink ($ text) {
// hol dir alles, was wie eine URL aussieht ...
$ urls = array ();
// Erstellen Sie die Muster
$ scheme = '(https?/: //// | ftps?/: ////)?';
$ www = '([/w]+/.)';
$ local = 'localhost';
$ ip = '(/des1,3}/./der1,3}/./der1,3}/./des1,3})';
$ name = '([/w0-9]+)';
$ tld = '(/w {2,4})';
$ port = '(: [0-9]+)?';
$ the_rest = '(//?(?/w#!
$ muster = $ Scheme. '('. $ ip. $ port. '|'. $ www. $ name. $ tld. $ port. '|'.
$ muster = '/'.$Pattern.'/is';
// die URLs bekommen
$ c = preg_match_all ($ muster, $ text, $ m);
if ($ c) {
$ urls = $ m [0];
}
// Ersetzen Sie alle URLs
if (! leer ($ urls)) {
foreach ($ urls als $ url) {
$ pos = strpos ('http/: ////', $ url);
if (($ pos && $ pos! = 0) ||! $ pos) {
$ fullurl = 'http: //'.$url;
} anders {
$ fullurl = $ url;
}
$ link = ''. $ url. '';
$ text = str_replace ($ url, $ link, $ text);
}
}
$ text zurückgeben;
}