我有一个Joomla 2.5.28,它现在使用https
而不是http
。
一些文章(许多)包含来自Vimeo的嵌入视频。
最初,这些视频是使用http嵌入的,所以现在我在数据库中的字段introtext
或fulltext
中有html代码,如:
<p>Text, etc...</p>
<iframe src="http://player.vimeo.com/video/123" width="690" height="518" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<iframe width="690" height="400" frameborder="0" scrolling="no" src="https://skydrive.live.com/embed?cid=xxx></iframe>
<ul>
<li>
...
那么,我如何构建一个SQL查询来保持HTML的原样,但替换:
<iframe src="http://
收件人:
<iframe src="://
您可以使用replace
函数
mysql> select replace('<iframe src="http://player.vimeo.com/video/123"','<iframe src="http://','<iframe src="://') as replaced ;
+---------------------------------------------+
| replaced |
+---------------------------------------------+
| <iframe src="://player.vimeo.com/video/123" |
+---------------------------------------------+
因此,使用上面的内容,您可以将更新命令编写为
update table_name
set field_name = replace(field_name,'<iframe src="http://','<iframe src="://');
你也可以在选择时做同样的事情
select
replace(field_name,'<iframe src="http://','<iframe src="://') as field_name
from table_name
请参阅mysql REPLACE函数:
SELECT REPLACE('<iframe src="http://player.vimeo.com/video/123" width="690" height="518" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>', '<iframe src="http://', '<iframe src="://');