0

ブログの未登録メンバーのリンクを削除するプラグインを作成しましたが、プラグインによって画像リンクが正しくなくなりました。以下は、作成したコンテンツフィルターです。

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()を使用してこれを回避しようとしましたが、役に立ちませんでした。

4

1 に答える 1

0

前に以下を使用してください$doc->loadHTML($content);

$content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8');
于 2012-08-12T20:00:20.253 に答える