MySQL删除%startcode%encode%的文本

时间:2015-02-13 14:19:12

标签: mysql regex replace

我有一个电影数据库,其中一个列的代码如下:

<div class="video">
<script type="text/javascript">document.write(doit('UEdsbWNtRnRaU0J6Y21NOUltaDBkSEE2THk5MGFHVjJhV1JsYjNNdWRIWXZaVzFpWldRdGRtMXNOR3R1YjJNd2FXTmlMVGN5T0hnME1UQXVhSFJ0YkNJZ2QyVmlhMmwwUVd4c2IzZEdkV3hzVTJOeVpXVnVQU0owY25WbElpQnRiM3BoYkd4dmQyWjFiR3h6WTNKbFpXNDlJblJ5ZFdVaUlHRnNiRzkzWm5Wc2JITmpjbVZsYmowaWRISjFaU0lnWm5KaGJXVmliM0prWlhJOUlqQWlJRzFoY21kcGJuZHBaSFJvUFNJd0lpQnRZWEpuYVc1b1pXbG5hSFE5SWpBaUlITmpjbTlzYkdsdVp6MGlibThpSUhkcFpIUm9QU0kzTWpnaUlHaGxhV2RvZEQwaU5ERXdJajQ4TDJsbWNtRnRaVDQ9'));</script>
<iframe src="http://thevideos.tv/embed-vml4knoc0icb-728x410.html" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen="true" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="728" height="410"></iframe></div>

现在我想删除或替换''那个javascript。 我试过了:

UPDATE `mytable` SET `column` = replace(column, '%<script%script>%', '')

但这不起作用, 我喜欢我的输出就像这样:

<div class="video">
<iframe src="http://thevideos.tv/embed-vml4knoc0icb-728x410.html" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen="true" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="728" height="410"></iframe></div>

有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:0)

也许您应该检查strip_tags而不是进行此更新

您可以删除某些代码并让其他代码通过,在这种情况下:

$a = "<div clas...." // All your code
$a_cleaned = strip_tags($a, '<div><iframe>');

更清楚的是,只有你需要scape <script>标签

答案 1 :(得分:0)

Mysql不接受replace方法的通配符。

之前已经问过这个问题。 请参阅this article。 它可能包含解决您问题的方法。