Maison >interface Web >js tutoriel >Fonctions personnalisées JavaScript et PHP qui convertissent les adresses URL sous forme de texte en compétences links_javascript cliquables

Fonctions personnalisées JavaScript et PHP qui convertissent les adresses URL sous forme de texte en compétences links_javascript cliquables

WBOY
WBOYoriginal
2016-05-16 16:40:511957parcourir

Lorsque j'écris un petit programme de nos jours, je dois utiliser des expressions régulières pour faire correspondre l'adresse URL dans le texte saisi par l'utilisateur, puis remplacer l'adresse URL par un lien cliquable. Correspondance d'adresse URL, je pense que cela devrait être quelque chose que tout le monde utilise souvent dans le traitement de vérification. Voici une expression relativement complète que j'ai intégrée :

.

Copier le code Le code est le suivant :

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;

Cette expression peut correspondre aux adresses URL des adresses http, https, ftp, ftps et IP. Il s’agit encore d’un calcul de correspondance d’adresse URL relativement complet. En utilisant cette expression, j'ai écrit deux petites fonctions pour remplacer l'adresse URL du message de l'utilisateur par un lien cliquable. Ce n'est pas trop difficile. J'utilise simplement la fonction replace() de JavaScript pour remplacer l'URL par un lien :

Version JavaScript :

Copier le code Le code est le suivant :

/**
*Version JavaScript
* Convertir l'adresse URL en code de lien de balise A complet
​*/
var replaceURLToLink = fonction (texte) {
texte = texte.replace(URL, fonction (url) {
            var urlText = url;
Si (!url.match('^https?://')) {
               url = 'http://' url;
            }
                return '' urlText '';
});

renvoyer le texte ;
};

Version PHP :

Copier le code Le code est le suivant :

/**
* Version PHP modifiée basée sur le code Silva
* Convertir l'adresse URL en code de lien de balise A complet
​*/
/**=============================================
 NOM        : replace_URLtolink()
 VERSION     : 1.0
 AUTEUR      : J de Silva
 DESCRIPTION : renvoie VOID ; gère la conversion
 URL en liens cliquables à partir d'une chaîne.
 TYPE        : fonctions
 ==============================================*/

fonction replace_URLtolink($text) {
    // récupère tout ce qui ressemble à une URL...
    $urls = tableau();
   
    // construit les modèles
    $scheme = '(https?://|ftps?://)?';
    $www = '([w] .)';
    $local = 'localhost';
    $ip = '(d{1,3}.d{1,3}.d{1,3}.d{1,3})';
    $nom = '([w0-9] )';
    $tld = '(w{2,4})';
    $port = '(:[0-9] )?';
    $the_rest = '(/?([w#!:.? =&%@!-/] ))?';
    $pattern = $scheme.'('.$ip.$port.'|'.$www.$name.$tld.$port.'|'.$local.$port.')'.$the_rest;
    $motif = '/'.$motif.'/est';
   
    // Récupère les URL
    $c = preg_match_all($pattern, $text, $m);
   
    si ($c) {
        $urls = $m[0];
    >
   
    // Remplacez toutes les URL
    si (! vide ($urls)) {
        foreach ($urls comme $url) {
            $pos = strpos('http://', ​​$url);
           
            si (($pos && $pos != 0) || !$pos) {
                $fullurl = 'http://'.$url;
            } autre {
                $fullurl = $url;
            >
           
            $lien = ''.$url.'';
           
            $text = str_replace($url, $link, $text);
        >
    >
   
    retourner $text;
>

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn