在php中找到完整的图像路径?

时间:2014-08-18 07:58:01

标签: php

我有一个这样的序列化字符串:

现在我想从这个字符串中找到图像信息,然后将其存储在一个变量中。我可以找到图像路径,它从下面的代码打印

$doc = new DOMDocument();
$doc->loadHTML($stry);
$xpath = new DOMXPath($doc);
$src = $xpath->evaluate("string(//img/@src)");
echo $src;

但我想以下面的形式打印完整的img标签,其中包含高度,宽度等属性:

$a = "<img src=\"http://www.techveze.com/wp-content/uploads/2013/11/Router.jpg\" alt=\"\" width=\"345\" height=\"120\" class=\"aligncenter size-full wp-image-1884\" />" ;
任何人都帮助我...... ??

感谢名单。

1 个答案:

答案 0 :(得分:1)

您需要反序列化字符串。这将返回一个数组。图像存储在索引image中。

// Unserialize the string and turn it into an array
$array = unserialize($str);
$a = $array['image']; // This will give you image with the enclosing `<a>` tag

// Create a document from the HTML snippet
$doc = new DOMDocument();
$doc->loadHTML($a);

// Obtain the image tag
$img = $doc->getElementsByTagName('img')->item(0);

// Save it as string
$img_string = $doc->saveHTML($img); 

如果要在HTML页面中显示字符串,我的意思是字符串而不是图像(!),然后使用htmlentities()

// Echo the <img> as string(!) on an HTML page
echo htmlentities($img_string);