Lors de la rédaction d'un mini programme ces jours-ci, vous devez utiliser des expressions régulières pour correspondre à l'adresse URL dans le texte entré par l'utilisateur, puis remplacer l'adresse URL par un lien sur lequel vous pouvez cliquer. Je pense que c'est ce que vous utilisez souvent dans le traitement de vérification. Ici, je vais donner une expression relativement complète que j'ai intégrée:
La copie de code est la suivante:
var url = /(https?:////|ftps?:////)?(/DUDE {1,3 }/./d{1,3 }/./d{1,3 }/./d{1,3 }/./d {1,3 })(: ■0-9 OcalHost) (: [0-9] +)? | ([/ w] + /.) (/ s +) (/ w {2,4}) (: [0-9] +)?) (//? ([/ w #!:.? + = &% @! / - //] +)))? / ig;
Cette expression peut correspondre aux adresses URL des adresses HTTP, HTTPS, FTP, FTPS et IP. Il est encore assez parfait pour la correspondance d'adresse d'URL. En utilisant cette expression, j'ai écrit deux petites fonctions pour remplacer l'adresse URL du message de l'utilisateur par un lien cliquable. Il n'y a rien de trop difficile. Il s'agit d'utiliser la fonction JavaScript Remplace () pour implémenter l'URL de remplacement pour lier:
Version JavaScript:
La copie de code est la suivante:
/ **
* Version javascript
* Convertir l'adresse d'URL en code de liaison complete A.
* /
var remphalurltolink = fonction (texte) {
text = text.replace (url, fonction (url) {
var urlText = url;
if (! url.match ('^ https?: ////')) {
url = 'http: //' + url;
}
return '' + urltext + '';
});
Retour Texte;
};
Version PHP:
La copie de code est la suivante:
/ **
* La version PHP est modifiée sur la base du code Silva
* Convertir l'adresse d'URL en code de liaison complete A.
* /
/ ** =======================================================.
Nom: Remplace_urltolink ()
Version: 1.0
Auteur: J de Silva
Description: revient vide; Poignées de conversion
URL dans les liens cliquables d'une chaîne.
Type: fonctions
===================================================.
function remphier_urltolink ($ text) {
// saisissez tout ce qui ressemble à une URL ...
$ urls = array ();
// Construisez les motifs
$ schéma = '(https? /: //// | ftps? /: /////)?';
$ www = '([/ w] + /.)';
$ local = 'localhost';
$ ip = '(/d /d1,3 }/./d{1,3 }/./d{1,3 }/./d{1,3})';
$ name = '([/ w0-9] +)';
$ tld = '(/ w {2,4})';
$ port = '(: [0-9] +)?';
$ the_rest = '(//?(@/w#!:.
$ Pattern = $ schéma. '('. $ ip. $ port. '|'. $ www. $ name. $ tld. $ port. '|'. $ local. $ port. ')'. $ the_rest;
$ Pattern = '/'.$Pattern.'/is';
// Obtenez les URL
$ c = preg_match_all ($ Pattern, $ text, $ m);
if ($ c) {
$ urls = $ m [0];
}
// remplace toutes les URL
if (! vide ($ urls))) {
foreach ($ urls comme $ url) {
$ pos = strPos ('http /: /////', $ url);
if (($ pos && $ pos! = 0) ||! $ pos) {
$ fulurl = 'http: //'.$url;
} autre {
$ fulurl = $ url;
}
$ link = ''. $ url. '';
$ text = str_replace ($ url, $ link, $ text);
}
}
retourner $ text;
}