Al escribir un mini programa en estos días, debe usar expresiones regulares para que coincida con la dirección de URL en el texto ingresado por el usuario, y luego reemplazar la dirección de URL con un enlace en el que puede hacer clic. Creo que esto es lo que usas a menudo en el procesamiento de verificación. Aquí daré una expresión relativamente completa que integré:
La copia del código es la siguiente:
var url = /(https ocalhost) (: [0-9]+)? | ([/w]+/.) (/s+) (/w {2,4}) (: [0-9]+)?) (//? ([/w#!:.
Esta expresión puede coincidir con las direcciones URL de HTTP, HTTPS, FTP, FTP y direcciones IP. Todavía es bastante perfecto para la coincidencia de direcciones de URL. Usando esta expresión, escribí dos pequeñas funciones para reemplazar la dirección de URL del mensaje del usuario con un enlace que se puede hacer clic. No hay nada demasiado difícil. Es para usar la función JavaScript Reemplazar () para implementar la URL de reemplazo al enlace:
Versión de JavaScript:
La copia del código es la siguiente:
/**
* Versión de JavaScript
* Convertir la dirección de URL en un código de enlace de etiqueta A completo
*/
var reemplazarRLTOLINK = function (text) {
text = text.replace (url, function (url) {
var urltext = url;
if (! url.match ('^https?: ////')) {
url = 'http: //' + url;
}
return '' + urlText + '';
});
Texto de devolución;
};
Versión PHP:
La copia del código es la siguiente:
/**
* La versión PHP se modifica en función del código Silva
* Convertir la dirección de URL en un código de enlace de etiqueta A completo
*/
/** ===================================================================
Nombre: reemplazar_urltolink ()
Versión: 1.0
Autor: J de Silva
Descripción: devuelve nulo; MANEJES CONVERTIR
URLS en enlaces en los que se puede hacer clic en una cadena.
Tipo: funciones
==========================================================*/
función reemplazar_urltolink ($ text) {
// Toma cualquier cosa que parezca una URL ...
$ urls = array ();
// construir los patrones
$ scheme = '(https?/: //// | ftps?/: /////)?';
$ www = '([/w]+/.)';
$ local = 'localhost';
$ ip = '(/d =1,3h}/./d{1,3BIT
$ name = '([/w0-9]+)';
$ tld = '(/w {2,4})';
$ port = '(: [0-9]+)?';
$ the_rest = '(//?(=/w#!:.?+=&%@!///font>+))?';
$ patrón = $ esquema. '('. $ ip. $ Port. '|'. $ www. $ name. $ tld. $ puerto. '|'. $ local. $ puerto. ')'. $ the_rest;
$ Pattern = '/'.$pattern.'/is';
// Obtener las URL
$ c = preg_match_all ($ patrón, $ text, $ m);
if ($ c) {
$ urls = $ m [0];
}
// reemplazar todas las URL
if (! vacía ($ urls)) {
foreach ($ urls como $ url) {
$ pos = strpos ('http/: ////', $ url);
if (($ pos && $ pos! = 0) ||! $ pos) {
$ fullurl = 'http: //'.$url;
} demás {
$ fullURL = $ url;
}
$ link = ''. $ url '';
$ text = str_replace ($ url, $ link, $ text);
}
}
devolver $ texto;
}