我有一个这样的序列化字符串:
现在我想从这个字符串中找到图像信息,然后将其存储在一个变量中。我可以找到图像路径,它从下面的代码打印
$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\" />" ;
任何人都帮助我...... ??
感谢名单。
答案 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);