요즘 미니 프로그램을 작성할 때는 사용자가 입력 한 텍스트의 URL 주소와 일치하는 정규 표현식을 사용한 다음 URL 주소를 클릭 할 수있는 링크로 바꿔야합니다. 나는 이것이 당신이 검증 처리에서 자주 사용하는 것이라고 생각합니다. 여기서 나는 통합 된 비교적 완전한 표현을 제공 할 것입니다.
코드 사본은 다음과 같습니다.
var url = /(httpsvosfiks?:// ,/f) ?:////)? (/d {1,3 }/./d {1,3 }/./d {1,3 }/./d {1,3 }/./d {1,3 })(: 0-9혁) ?) ?(L OcalHost) (: [0-9]+)? | ([/w]+/.) (/s+) (/w {2,4}) (: [0-9]+)?) (//?
이 표현식은 HTTP, HTTPS, FTP, FTP 및 IP 주소의 URL 주소와 일치 할 수 있습니다. URL 주소 일치에 여전히 완벽합니다. 이 표현을 사용하여 사용자 메시지의 URL 주소를 클릭 가능한 링크로 바꾸는 두 가지 작은 기능을 작성했습니다. 너무 어려운 것은 없습니다. javaScript relger () 함수를 사용하여 연결할 대체 URL을 구현하는 것입니다.
자바 스크립트 버전 :
코드 사본은 다음과 같습니다.
/**
* JavaScript 버전
* URL 주소를 완전한 A- 태그 링크 코드로 변환합니다
*/
var replaceurltolink = function (text) {
text = text.replace (url, function (url) {
var urltext = url;
if (! url.match ( '^https? : ///')) {
url = 'http : //' + url;
}
`` + urltext + '';
});
리턴 텍스트;
};
PHP 버전 :
코드 사본은 다음과 같습니다.
/**
* PHP 버전은 Silva 코드를 기반으로 수정됩니다.
* URL 주소를 완전한 A- 태그 링크 코드로 변환합니다
*/
/** ==============================================================================
이름 : replace_urltolink ()
버전 : 1.0
저자 : J de Silva
설명 : void를 반환합니다. 변환을 처리합니다
URL은 문자열에서 클릭 가능한 링크로 연결됩니다.
유형 : 기능
=======================================================*/
함수 replace_urltolink ($ text) {
// URL처럼 보이는 모든 것을 잡습니다 ...
$ urls = array ();
// 패턴을 만듭니다
$ scheme = '(https?/: /// | ftps?/: ///)?';
$ www = '([/w]+/.)';
$ local = 'localhost';
$ ip = '(/d {1,3 }/./d {1,3 }/./d {1,3 }/./d {1,3})';
$ name = '([/w0-9]+)';
$ tld = '(/w {2,4})';
$ port = '(: [0-9]+)?';
$ the_rest = '(//? (//? (//w# !:.
$ pattern = $ scheme. '('. $ ip. $ port. '|'. $ www. $ name. $ tld. $ port. '|'. $ local. $ port. ')'. $ the_rest;
$ pattern = '/'.$Pattern.'/is';
// URL을 얻습니다
$ c = preg_match_all ($ pattern, $ text, $ m);
if ($ c) {
$ urls = $ m [0];
}
// 모든 URL을 교체합니다
if (! empty ($ urls)) {
foreach ($ urls as $ url) {
$ pos = strpos ( 'http/: ///', $ url);
if (($ pos && $ pos! = 0) ||! $ pos) {
$ fullUrl = 'http : //'.$url;
} 또 다른 {
$ fullUrl = $ URL;
}
$ link = ''. $ url. '';
$ text = str_replace ($ url, $ link, $ text);
}
}
$ 텍스트를 반환합니다.
}