我的问题类似于这里的问题:
Regular expression on Yahoo! pipes
我通过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>
感谢您的帮助!
答案 0 :(得分:0)
Anthony警告说,您无法使用正则表达式安全地解析HTML,因此如果您选择使用Pipes,请权衡相关风险。
假设您只想替换此特定结构,并且如果源中的任何内容发生微妙变化,则期望它会中断,以下内容适用于您的目的:
取代:
(<a\s[^>]*href=")(.*?)("[^>]*>).*?(</a>)
使用:
$1$2$3$2$4
(使用 s 和 i 选项)