1

我的问题类似于这里的问题:

Yahoo! 上的正则表达式 管道

我通过friendfeed将我的gmail状态连接到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,所以如果你选择使用 Pipes,请权衡所涉及的风险。

假设您只想替换这个特定的结构,并期望它在源代码中的任何细微变化时中断,那么以下内容将足以满足您的目的:

代替:

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

和:

$1$2$3$2$4

(使用si选项)

于 2010-01-13T00:18:34.520 回答