Ao escrever um mini -programa hoje em dia, você precisa usar expressões regulares para corresponder ao endereço da URL no texto inserido pelo usuário e, em seguida, substitua o endereço da URL por um link no qual você pode clicar. Eu acho que é isso que você costuma usar no processamento de verificação. Aqui vou dar uma expressão relativamente completa que interi:
A cópia do código é a seguinte:
var url = /(https?:///|ftps?:///)??(/d {1,3a }/./d {1,3a }/./d {1,3a }/./d {1,3a }/./d {1,3 aca aca OCALHOST) (: [0-9]+)?
Essa expressão pode corresponder aos endereços URL dos endereços HTTP, HTTPS, FTP, FTPS e IP. Ainda é bastante perfeito para a correspondência de endereços de URL. Usando essa expressão, escrevi duas pequenas funções para substituir o endereço URL da mensagem do usuário por um link clicável. Não há nada muito difícil. É para usar a função javascript reply () para implementar o URL de substituição para vincular:
Versão JavaScript:
A cópia do código é a seguinte:
/**
* Versão JavaScript
* Converter endereço de URL em código de link completo com marcha A completa
*/
var repledurltolink = function (text) {
text = text.replace (url, function (url) {
var urlText = url;
if (! url.match ('^https?: ////')) {
url = 'http: //' + url;
}
retornar '' + urltext + '';
});
Retornar texto;
};
Versão PHP:
A cópia do código é a seguinte:
/**
* A versão PHP é modificada com base no código SILVA
* Converter endereço de URL em código de link completo com marcha A completa
*/
/** ===================================================================
Nome: Substituir_urltolink ()
Versão: 1.0
Autor: J de Silva
Descrição: retorna vazio; alças convertendo
URLs em links clicáveis de uma string.
Tipo: Funções
==========================================================*/
função reply_urltolink ($ text) {
// Pegue qualquer coisa que pareça um URL ...
$ urls = array ();
// Construa os padrões
$ scheme = '(https?/: //// | ftps?/: ////)?';
$ www = '([/w]+/.)';
$ local = 'localhost';
$ ip = '(/d {1,3 }/./d {1,3a }/./d {1,3 }/./d {1,3})';
$ name = '([/w0-9]+)';
$ tld = '(/w {2,4})';
$ port = '(: [0-9]+)?';
$ the_rest = '(//?(/w#!
$ padrão = $ esquema. '('. $ ip. $ porta. '|'.
$ padrony = '/'.$Pattern.'/is';
// Obtenha os URLs
$ c = preg_match_all ($ padrão, $ text, $ m);
if ($ c) {
$ urls = $ m [0];
}
// Substitua todos os URLs
if (! vazio ($ urls)) {
foreach ($ urls como $ url) {
$ pos = strpos ('http/: ////', $ url);
if (($ pos && $ pos! = 0) ||! $ pos) {
$ fullurl = 'http: //'.$url;
} outro {
$ fullurl = $ url;
}
$ link = ''. $ url. '';
$ text = str_replace ($ url, $ link, $ text);
}
}
retornar $ text;
}