0

我正在开发一个使用电子商务插件的 WP 网站;除其他外,此插件存储和检索产品图像。麻烦的是,如果产品没有分配图像,它会返回一个在文本节点中没有任何内容的锚标记,如下所示:

<a id="product_image_id" href="..."></a>

我不想弄乱插件的核心功能,这样我就可以留在升级路径上,并想使用 PHP 检查返回的字符串是否有空文本节点并将其替换为“没有可用的图像” ' 像这样的图像:

<a id="product_image_id" href="..."><img src="..." /></a>

我已经尝试了各种 PHP 子字符串/替换函数,但都没有成功,并且碰壁了。

任何帮助将不胜感激!

4

2 回答 2

1

很高兴你解决了!

我想到了一个基于 SimpleXmlElement 的解决方案:

$xs2 = '<a id="product_image_id" href="..."><img src="..." /></a>';
$xml = new SimpleXMLElement($xs2);

foreach ($xml->children() as $child)
  echo $child->getName();

通过观察孩子,很容易看出是否存在图像。我没有,添加一个节点并返回SimpleXMLElement->asXml;

于 2012-09-14T15:26:05.387 回答
0

对于任何有兴趣的人,这是我解决它的方法:

$thumbnail = function_that_returns_formatted_image();
$thumbnail_content = strip_tags($thumbnail, '<img>'); // Strip out </a> and ignore </img>
if (empty($thumbnail_content)) // Check for </img> tag
    $thumbnail = '<img src="/path/to/temporary_image.jpg" />';

我希望这可以帮助别人!

于 2012-09-14T15:18:51.113 回答