1

私の質問はここの質問に似ています:

Yahoo!での正規表現 パイプ

Gmailのステータスをfriendfeedを介してTwitterに接続していますが、残念ながら、リンクテキストが切り捨てられ、Twitterにアクセスするとリンクが機能しなくなります。私はこれを取ることができる必要があります:

 <div style="margin-top:2px;color:black;">/good jquery tips 
   <a rel="nofollow" style="text-decoration:none;color:#00c;" target="_blank"  href="http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/" title="http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/">
      http://james.padolsey.com/javascr...
   </a>
</div> 

切り捨てられたリンクをhref属性に置き換えると、次のようになります。

 <div style="margin-top:2px;color:black;">/good jquery tips 
   <a rel="nofollow" style="text-decoration:none;color:#00c;" target="_blank"  href="http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/" title="http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/">
      http://james.padolsey.com/javascript/things-you-may-not-know-about-jquery/
   </a>
</div> 

助けてくれてありがとう!

4

1 に答える 1

0

Anthony の警告は、正規表現を使用して HTML を安全に解析することはできないため、パイプを使用する場合は関連するリスクを比較検討してください。

この特定の構造のみを置き換えたいと仮定し、ソース内の何かが微妙に変更された場合に壊れることを期待すると、以下は目的に十分に対応します:

交換:

(<a\s[^>]*href=")(.*?)("[^>]*>).*?(</a>)

と:

$1$2$3$2$4

( sおよびiオプションを使用)

于 2010-01-13T00:18:34.520 に答える