sql查询从每列中删除脚本代码?

l7mqbcuq  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(338)

我的数据库表包含超过五列的javascript代码。
看起来像是 `----

dzhpxtsq

dzhpxtsq1#

--------* | id | question | ----

dw1jzc5e

dw1jzc5e2#

您应该考虑使用某种xml解析器来处理这个问题。mysql可能有这样的功能,或者可能通过一个附加组件。也就是说,我可以提供以下解决方案,将删除一个(而且只有一个) <script> 列中的标记:

UPDATE yourTable
SET question = CONCAT(SUBSTRING(question, 1, INSTR(question, '<script') - 1,
                      SUBSTRING(question, INSTR(question, '</script>') + 9))
WHERE question LIKE '%<script%';
o0lyfsai

o0lyfsai3#

--------* | 1 | <p class="MsoNormal">Lorem Ipsum<p class="MsoNormal"><span style="font-family: 'Times New Roman';">Lorem Ipsum<script type="text/javascript" src="//site.com//def.js">|` 我想要的是

  • -------------------------------- | id | question | --------------------------------* | 1 | <p class=\"MsoNormal\"><b>Lorem Ipsum</b></p><p class=\"MsoNormal\"><span style=\"font-family: \'Times New Roman\';\">Lorem Ipsum</p> 任何帮助都将不胜感激!

更新:
很少有列的脚本代码超过5次。那怎么处理呢?
示例如下: ["<span style=\"font-weight: bold; line-height: 24px;\">10<\/span>\r\n<script type=\"text\/javascript\" src=\"http:\/\/site.com\/\/def.js\"><\/script>","<span style=\"font-weight: bold; line-height: 24px;\">20\u00a0<\/span>\r\n<script type=\"text\/javascript\" src=\"http:\/\/site.com\/\/def.js\"><\/script>"

9njqaruj

9njqaruj4#

如果字符串的排列方式与上述相同,则可以按如下查询拆分列:

select SUBSTRING_INDEX(question, '<script', 1) question from myTable

相关问题