내 웹 사이트에서 사용자는 코멘트를 입력 할 수 있습니다. 이 댓글에 URL이 포함 된 경우이 URL을이 URL에 대한 링크로 바꿔야합니다.
예 :
from :
Hi guys, you can visit me website at: http://foo.com for more info
에:
Hi guys, you can visit me website at: <a href="http://foo.com">http://foo.com</a> for more info
RegEx를 사용하여 문자열의 모든 URL을 찾지 만 각 URL (RegEx 패턴)을 현재 URL을 기반으로하는 새 문자열로 어떻게 바꿀 수 있습니까?
예를 들면 :
var urlRegEx = /(...)/g; // a very long regex pattern that matches urls
var staticText = "bla bla bla http://foo.bar bla bla bla";
var hyperText = staticText.replace(urlRegEx, "<a href='" + urlRegEx + "'/>" + urlRegEx + "</a>"); // This of course will not work!!! :-(
RegExs로 솔루션을 찾고 있습니다. 또한 예 RegEx.exec(staticText)[0]
, 루프 내부의 새 매개 변수에 의 값을 저장 하고 하나씩 바꿀 수 있다는 것을 알고 있지만 문자열 을 반복 하지 않고도이 작업을 수행 할 수 있습니까 ???
var hyperText = staticText.replace(urlRegEx, "<a href='$0'/>$0</a>");
메서드 RegEx.protptype.exec(string)
를 실행할 때 match
RegEx의 패턴과 일치하는 값을 포함 하는 객체 (배열)를 얻게됩니다 . $ i를 사용하여이 배열의 값에 액세스 할 수 있습니다 i
. 여기에 일치 배열의 인덱스가 있습니다.
따라서 일치하는 패턴의 경쟁 값에 액세스하려면 0 인덱스-$ 0에 액세스하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다