2014-11-14 1 views
0

텍스트, HTML 태그 등이 포함 된 큰 자바 스크립트 문자열이 있으며 유효한 HTML입니다 (태그는 모든 곳에서 제대로 닫힙니다). 이 문자열에는 URL이 있습니다.javascript : 문자열에서 주어진 도메인 (부분 문자열)을 기준으로 전체 URL을 찾는 가장 빠른 방법

이 문자열에서 모든 항목을 삭제하는 가장 빠른 방법은 무엇입니까? http://google.com이 포함 된 URL은 "" 또는 >< 태그로 제한됩니다. 업데이트 된 문자열에서 URL은 공백으로 구분할 수 있습니다.

이것은 실제적인 작업입니다. 여기에 해결책이 없다면 나는 내 것을 공유 할 것이지만 그것이 멋지고 빨리 될 것이라고는 생각하지 않는다.

+0

[문자열 내의 URL을 찾는 정규 표현식] 중복 가능 (0120-385-301) – WBAR

+0

그 솔루션은 모든 URL을 검색하지만, 중복되는 경우이 URL은 ""및><태그로 제한됩니다. (해당 유효성 검사기를 통과해도 상관 없습니다). 또한, 나는 도메인별로 찾고있다. – Haradzieniec

답변

3

정규 표현식을 사용할 수 있습니다.

다음 표현식은 ""또는> < 구분 기호 사이의 모든 문자열을 찾습니다. 그런 다음 해당 URL 패턴과 일치하는 문자열을 필터링해야합니다.

var delimitersRegex = /[\"|\>](.*?)[\"|\<]/g; 
var urlRegex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w][email protected])?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w][email protected])[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/; 

var urls = yourString.match(delimitersRegex).filter(function (str) { 
    return urlRegex.test(str) 
}); 

urls에는 문자열에있는 모든 URL이 포함됩니다. 그런 다음 일치하는 URL을 사용하여 원하는 것을 할 수 있습니다.

행운을 빕니다;

관련 문제