0

好的,这就是我想要做的。我有一个 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 或其他东西。

4

1 回答 1

1

您可以使用 explode 来做到这一点:

$string = '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' ;


$ex_string = explode('<img', $string);

现在在这里您将获得所有爆炸字符串.. 现在您只需要第一个和最后一个字符串即可根据需要进行查询..

echo $ex_string[0].'<img '.$ex_string[3]; // we are adding img tag because it must have been removed due to explode
//here $ex_string[0] is all the html that came before the first image is encountered
//and $ex_string[3] would be the last image data and all the data HTML appending it

 ?> 

这将为您提供所需的字符串。

于 2013-08-17T21:16:29.640 回答