1

この質問はワードプレスの方法に基づいていますが、おそらく純粋な php の質問です。

引用符、ダッシュ、その他のタイポグラフィ記号を使用して、サイト全体で一貫性を保つために、次の関数を作成しました。

add_filter('the_content', 'wr_replace_text');
add_filter('the_excerpt', 'wr_replace_text');

function wr_replace_text($text){
    $replace = array(
            '„' => '»',
            '“' => '»',
            '›' => '»',
            '“' => '«',
            '”' => '«',
            '‹' => '«',
            ' - ' => ' — ',
            ' – ' => ' — ',
            ' –,' => ' —, ',
            '...' => '…',
            '(c)' => '©'
    );
    $text = str_replace(array_keys($replace), $replace, $text);
    return $text;
}

ただし、これは正確には機能しないようです。うまくいくこともあれば、うまくいかないこともあります。

.eg 次の文には引用符が含まれており、置き換えられません。

私はvoluptuaです。「ベロで」eos et a

私の置換関数がこの引用符と一致せず、それらを置換しない理由は何ですか? 関数に追加'A' => 'B'すると、すべての「A」が「B」に置き換えられるため、関数が機能することがはっきりとわかります。ただし、この場合、引用符が機能しないのはなぜですか。私のサイトには、引用符が置き換えられる他のケースがあります。

前もって感謝します!

4

1 に答える 1

1

例の引用符は二重引用符 (") であり、次のようにエンコードする必要があります。

'"' => "
于 2012-10-05T07:57:40.380 に答える