2011-10-09 1 views
1

href html 태그를 제거하고 링크 URL을 텍스트로 남겨두면 링크를 끊어지지 않게 만드는 정규식을 작성하고 싶습니다. 따라서 URL 만 남기면 앵커 텍스트를 무시합니다.특정 도메인에서가 아니면 정규식을 사용하여 링크를 unclickable로 만듭니다.

그러나이 정규식은 특정 도메인의 링크가 아닌 경우 링크를 끊을 수 없게해야합니다. 내 개인 메시징 시스템에 이것을 원합니다.

링크는 특정 도메인에 링크 URL 텍스트을 대상으로하지 않는 경우

을 다음 할 것입니다 그래서 정규 표현식. 주어진 앵커 텍스트를 무시하십시오.

asp.net 4.0, C# 4.0

<a href="http://www.monstermmorpg.com/" target="_blank">My domain</a> 

이것은 텍스트가 될 것이다 http://www.monstermmorpg.com/로 구문 분석됩니다 이런 식으로 뭔가가 jQuery를 작동

+0

모든 정규식 관련 질의와 마찬가지로, HTML을 구문 분석 정규식을 사용하지 마십시오 샘플로 테스트 할 데이터뿐만 아니라 예상 결과 –

+0

그래서 당신의 질문은 .... –

+5

을 게시하시기 바랍니다. [Ever] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454)! –

답변

2

:

$(document).ready(removeLink("domain.com")); 

function removeLink(domain) 
{ 
    $('a').each(function(){ 
     if($(this).attr("href")!=null) 
     if($(this).attr("href").indexOf(domain)>=0) 
      $(this).removeAttr("href"); 
}) 
} 

설명 :

HTML의 모든 앵커 요소를 반복하여 렌더링하고, domain.com이 포함 된 모든 요소에 대해 하이퍼 링크의 href 특성을 제거합니다.

jsfiddle demo.

+0

실제로 주어진 링크가 예상되는 모든 링크가 제거됩니다. 댓글을 올리신 덕분에 – MonsterMMORPG

+0

. htmlagilitypack 문제를 해결 :)하지만 jquery도 작동합니다. – MonsterMMORPG

+0

@MonsterMMORPG "UPDATE"에 버그가있었습니다. jsFiddle 때로는 너무 느려서 스크립트를 실행했다고 생각하고 실제로 작동하지만 실제로는 그렇지 않습니다. 나의 초기 예제는 확실히 잘 동작한다. 동일한 하이퍼 링크와 여러 경로로 링크를 업데이트 했으므로 제대로 작동했습니다. – Icarus

관련 문제