Heim >Web-Frontend >js-Tutorial >Benutzerdefinierte JavaScript- und PHP-Funktionen, die URL-Adressen im Text in anklickbare Links umwandeln_Javascript-Fähigkeiten
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:
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:
};
PHP-Version:
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;
}