2012-09-14 11 views
0

我正在使用電子商務插件的WP網站上工作;除此之外這個插件存儲和檢索產品圖像。麻煩的是,如果產品沒有圖像分配如下它返回一個錨標記與任何文本節點:添加到錨的空文本節點如果爲空使用PHP

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

我想從與插件,這樣的核心功能搞亂望而卻步我可以留在升級道路上,並想用PHP來檢查返回的字符串爲一個空的文本節點,並以「無可用的圖像」像這樣的圖像替換它:

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

我已經嘗試了所有方式的PHP子字符串/替換功能沒有任何成功,並且已經碰壁了。

任何幫助將不勝感激!

+0

向我們顯示代碼,鏈接到插件。你爲什麼不把可用的「無圖像」圖像分配給產品? – Bergi

+0

@Bergi將「無圖像可用」圖像分配給產品的麻煩在於,該商店是WP多站點的一部分,具有多個用戶,他們不能全部被指望添加圖像。插件是MarketPress。 – dSquared

回答

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" />'; 

我希望這有助於有人!

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;

+0

+1不錯的解決方案; TY! – dSquared

相關問題