如何在MYSQL表中的巨大字符串中查找字符串?

时间:2012-12-10 03:15:48

标签: php mysql sql

我在MYSQL表中有一个列,它接受带有HTML标记的TEXT。现在我想查找HTML img src属性中包含.png / .jpg的所有URL。

例如:

表名:mdl_course_sections;列名:摘要;摘要的数据类型:TEXT

样本记录:

Summary
----------    
<table border="0">
<tbody>
<tr>
<td><img style="display: block; margin-left: auto; margin-right: auto;" src="http://xyz.au/abc.png" height="64" width="64" /></a></td>
<td> Learn about video slideshows.</td>
</tr>
<tr>
<td><img src="http://i1325.photobucket.com/albums/u630/teststudplane/plane-2.jpg" height="95" width="100" /></td>
<td> Explore how video can reinvent education.</td>
</tr>
</table>

1 个答案:

答案 0 :(得分:2)

你将很难在SQL本身内做到这一点。不要试试,你最终会拔掉你的头发。

相反,请浏览每个条目,使用HTML解析器提取每个src标记的img属性,然后从那里进行处理。

DOMDocument类的内置loadHTML方法可能有所帮助,但它对于格式不佳的HTML可能相当敏感。你也可以尝试类似Simple HTML DOM的东西,它允许你使用类似CSS的选择器,就像jQuery的工作方式。