2011-10-09 7 views
1

href htmlタグを削除してリンクURLをそのままテキストとして残してリンクを解除できないようにする正規表現を作成したい。したがって、URLを残すだけであれば、アンカーテキストは無視されます。特定のドメイン以外で正規表現でリンクを解除できないようにする

しかし、この正規表現は、特定のドメインに属していない場合、リンクを解除する必要があります。私は私のプライベートメッセージングシステムのためにこれが欲しい。

リンクは、特定のドメインは、リンク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

を投稿してください。 [これまで](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

関連する問題