Mysql 查找和替换HTML内容的SQL是什么?
所以我有一个论坛板的数据库,存储在名为forum的MySQL数据库中 在它里面,我在一个名为forum_posts的表中有一个名为post的列。我需要在post列中替换一些HTML,但它存储在其他字符(主要是文本)之间;更准确地说,论坛板对话 我必须替换这一行:Mysql 查找和替换HTML内容的SQL是什么?,mysql,html,database,Mysql,Html,Database,所以我有一个论坛板的数据库,存储在名为forum的MySQL数据库中 在它里面,我在一个名为forum_posts的表中有一个名为post的列。我需要在post列中替换一些HTML,但它存储在其他字符(主要是文本)之间;更准确地说,论坛板对话 我必须替换这一行: <div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(thi
<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class='spoilertop'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">
<div width="95%" style="margin:8px 26px 4px 26px"><a class='spoilertop' style='display:block;'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">
这一行:
<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class='spoilertop'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">
<div width="95%" style="margin:8px 26px 4px 26px"><a class='spoilertop' style='display:block;'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">
我尝试过这种SQL及其一些变体,但它总是导致MySQL错误
SELECT * FROM `forum_posts` REPLACE(`post`, `<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class='spoilertop'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">`, `<div width="95%" style="margin:8px 26px 4px 26px"><a class='spoilertop' style='display:block;'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">`)
有什么帮助吗?正确引用字符串 请尝试以下内容:
SELECT REPLACE('post', '<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class=\'spoilertop\'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">', '<div width="95%" style="margin:8px 26px 4px 26px"><a class=\'spoilertop\' style=\'display:block;\'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">') as replacedpost FROM forum_posts;
使用更新论坛\u帖子设置帖子=替换…\u其中。。。如果您想在数据库中进行更新。如果有人需要/想查看我所做的事情,请注意:
Update forum_posts
Set post = replace(post, '<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class=\'spoilertop\'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">', '<div width="95%" style="margin:8px 26px 4px 26px"><a class=\'spoilertop\' style=\'display:block;\'><b>SPOILER</b> [Show/Hide]</a><div class="spoilermain">');
WHERE post LIKE '%<div width="95%" style="margin:8px 26px 4px 26px"><a href="javascript:void(0);" onclick="javascript:spoil(this);"><div class=\'spoilertop\'><b>SPOILER</b> [Show/Hide]</div></a><div style="display: none;" class="spoilermain">%';
这是基于:
但所有学分都归@Teez 你的问题是你的报价。。。不要在字符串上使用反勾号-因为您的字符串中有混合引号,您需要使用“`仍然会导致错误…”对其进行转义。。。它说,1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在“REPLACE”post、“OK”附近使用的正确语法!需要一点变通,但我成功地做到了。谢谢