【发布时间】:2013-08-17 21:01:27
【问题描述】:
好的,这就是我想要做的。我有一个包含文章的 MySql 数据库。有些文章有 其中的图像,有些像这样有多个图像背靠背......
$preoutput = 'RANDOMHTML
<img src="http://example.com/image/SOMERANDOMIMG.jpg" alt="SOMERANDOMALTTEXT">
<img src="http://example.com/image/SOMERANDOMIMG.jpg" alt="SOMERANDOMALTTEXT">
<img src="http://example.com/image/SOMERANDOMIMG.jpg" alt="SOMERANDOMALTTEXT">
RANDOMHTML' ;
我想删除最后一张之前的所有图片,RANDOMHTML中可能有图片 同样,我想忽略这些。这些图像一遍又一遍是相同的图像,但大小不同, 所以图像有不同的名称.... 140x80.jpg、280x160.jpg 等。另外请注意,扩展名并不总是 jpg 有些也是png、gif等。
我想要的只是最后一个图像标签,因为它通常是最小的。 (无论如何,CSS 都会覆盖)
$output = 'RANDOMHTML
<img src="http://example.com/image/SOMERANDOMIMG.jpg" alt="SOMERANDOMALTTEXT">
RANDOMHTML' ;
我正在考虑某种 str_replace 与 count 函数之类的东西。
【问题讨论】:
-
“背靠背”图像是否被 div 等包围?
-
不要使用正则表达式解析 HTML。使用适当的 HTML 解析模块。 您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。有关如何使用已经编写、测试和调试的 PHP 模块正确解析 HTML 的示例,请参阅 htmlparsing.com/php。
标签: php mysql html-parsing