2012-08-12 43 views
0

我編寫了一個插件,用於刪除非註冊博客成員的鏈接,但插件導致圖像鏈接出錯,下面是我寫的內容過濾器:wordpress內容過濾器導致圖像鏈接中斷

if (is_user_logged_in()) { 
    // Do nothing. All is well. 
} else { 
    $doc = new DOMDocument(); 
    $doc->loadHTML($content); 
    $dom_xpath = new DOMXpath($doc); 

    foreach($doc->getElementsByTagName('a') as $link) 
     $link->setAttribute('href', $UNREGISTERED_LINK_HREF); 

    $texts = $dom_xpath->query('//a/child::text()'); 
    foreach ($texts as $text) 
    { 
     $text->data = $UNREGISTERED_LINK_TEXT; 
    } 

    $content = $doc->saveHTML(); 

} 

正確的圖片鏈接: http://electrouniverse.net/wp-content/uploads/2012/08/Kyle-Geiger-%E2%80%93-Relentless-SOMA343D-240x240.jpg

過濾環節後: http://electrouniverse.net/wp-content/uploads/2012/08/Kyle-Geiger-%C3%A2%C2%80%C2%93-Relentless-SOMA343D-240x240.jpg

我嘗試使用utf8_decode()和函數utf8_encode()來解決這一點,但它沒有幫助。

回答

0

使用以下之前$doc->loadHTML($content);

$content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'); 
+0

我不知道,如果這個工程,但我發現了另一個解決辦法,所以我會接受你,因爲你是唯一的答案:d – 2012-08-15 11:07:29