При написании мини -программы в наши дни необходимо использовать регулярные выражения, чтобы соответствовать адресу URL -адреса в тексте, введенном пользователем, а затем заменить адрес URL на ссылку, на которую вы можете нажать. Я думаю, что это то, что вы часто используете в обработке проверки. Здесь я дам относительно полное выражение, которое я интегрировал:
Кода -копия выглядит следующим образом:
var url = /(Https?:////|ftps?://///)?(/d{1,3 )/./d{1,300/./d{1,300/./d{1,300/./d{1,3 ))(:10-9^)?|(L ocalhost) (: [0-9]+)?
Это выражение может соответствовать адресам URL -адреса HTTP, HTTPS, FTP, FTPS и IP -адресов. Это все еще идеально подходит для сопоставления адресов URL -адреса. Используя это выражение, я написал две небольшие функции, чтобы заменить адрес URL -адреса сообщения пользователя на кликабельную ссылку. Там нет ничего сложного. Он должен использовать функцию javaScript remoble () для реализации URL -адреса замены для ссылки:
Версия JavaScript:
Кода -копия выглядит следующим образом:
/**
* Javascript версия
* Преобразовать адрес URL в полный код ссылки A, меченного A
*/
var replyurltolink = function (text) {
text = text.replace (url, function (url) {
var urlText = url;
if (! url.match ('^https?: ////')) {
url = 'http: //' + url;
}
вернуть '' + urlText + '';
});
вернуть текст;
};
PHP версия:
Кода -копия выглядит следующим образом:
/**
* Версия PHP модифицирована на основе кода SILVA
* Преобразовать адрес URL в полный код ссылки A, меченного A
*/
/** =======================================================================
Имя: replys_urltolink ()
Версия: 1.0
Автор: J de Silva
Описание: возвращает void; ручки преобразования
URL -адреса в кликабельные ссылки с строки.
Тип: функции
=================================================================
function replace_urltolink ($ text) {
// Возьмите все, что похоже на URL ...
$ urls = array ();
// Создать узоры
$ Smech = '(https?/: ///// | ftps?/: ////)?';
$ www = '([/w]+/.)';
$ local = 'localhost';
$ ip = '(/д, 1,3 )/./d{1,300/./d{1,3 )/./d{1,3})';
$ name = '([/w0-9]+)';
$ tld = '(/w {2,4})';
$ port = '(: [0-9]+)?';
$ the_rest = '(//?(^/w#!:.?+=&%@!////n+))?';
$ pattern = $ схема. '('. $ ip. $ port. '|'. $ www. $ name. $ tld. $ port.
$ pattern = '/'.$pattern.'/is';
// Получить URL -адреса
$ c = preg_match_all ($ pattern, $ text, $ m);
if ($ c) {
$ urls = $ m [0];
}
// заменить все URL -адреса
if (! ement ($ urls)) {
foreach ($ urls как $ url) {
$ pos = strpos ('http/: ////', $ url);
if (($ pos && $ pos! = 0) ||! $ pos) {
$ fullurl = 'http: //'.$rurl;
} еще {
$ fullurl = $ url;
}
$ link = ''. $ url. '';
$ text = str_replace ($ url, $ link, $ text);
}
}
вернуть $ текст;
}