0

私はeコマースプラグインを使用するWPWebサイトに取り組んでいます。特に、このプラグインは商品画像を保存および取得します。問題は、製品に画像が割り当てられていない場合、次のようにテキストノードに何もないアンカータグが返されることです。

<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 に答える