更新可能包含没有目标的 href 的表行的值

Posted

技术标签:

【中文标题】更新可能包含没有目标的 href 的表行的值【英文标题】:Update value of table row which could contain href without target 【发布时间】:2017-09-21 09:50:28 【问题描述】:

假设您有一个名为 Information 的表,其中可能有两列 id 和 text_with_hrefs_with_or_without_target_blank,我们要更新它们

因此,例如,许多行中的一个可以将此值存储在 text_with_href 列中......

第一个 href 之前的目标为空白

<a target="_blank" href="http://link1.com">Link1</a>

可能是另一个文本并与目标链接

<a href="http://www.link2.com">Link2</a>

最后一个href链接在href之后带有目标空白

<a href="http://www.link3.com" target="_blank">Link3</a>

我想更新表信息中的所有类似行,以将target=_blank 添加到那些没有行的部分中的hrefs

所以我提到的这一行的结果看起来像

第一个 href 之前的目标为空白

<a target="_blank" href="http://link1.com">Link1</a>

可能是另一个文本并与目标链接

<a href="http://www.link2.com" target="_blank">Link2</a>

最后一个href链接在href之后带有目标空白

<a href="http://www.link3.com" target="_blank">Link3</a>

【问题讨论】:

在表示层处理得更好 虽然不是很推荐,但您可以使用正则表达式来执行此操作,我不是正则表达式专家。无法将其转换为 PG 语法,但我敢打赌,如果可以的话,它会起作用:***.com/a/6594276/2283954 ***.com/questions/1732348/… 【参考方案1】:

正如 cmets 中所指出的,您最好在客户端/演示代码中执行此操作。

现在,如果您绝对需要在数据库中执行此操作,特别是如果它只是一次性的,并且假设您每行只有一个链接 &lt;a&gt;&lt;/a&gt;,您可以执行这样简单的操作

UPDATE information
   SET text_with_hrefs_with_or_without_target_blank = 
           replace(text_with_hrefs_with_or_without_target_blank, '<a ', '<a target="_blank" ')
 WHERE text_with_hrefs_with_or_without_target_blank NOT LIKE '%target="_blank"%'

SQLFiddle

【讨论】:

以上是关于更新可能包含没有目标的 href 的表行的值的主要内容,如果未能解决你的问题,请参考以下文章

更新取消:尝试使用来自多个连接行的值更新目标行

如何在 aspx 页面回发期间使用 JQuery 维护切换打开的表行的状态?

Excel VBA获取选定数据透视表行的项目详细信息

将结果保存到目标表成本

如何使用jquery获取单击按钮的特定值

删除后返回的表行 - jquery