まず、文字列が XML ファイルから取得されます。
置き換えようとしている特殊文字があります:「£」
str_replace を次のように使用すると:
$ability1 = str_replace("£", "", $ability);
これは var_dump が示すものです:
string(138) "Argothian Pixies can't be blocked by artifact creatures.�Prevent all damage that would be dealt to Argothian Pixies by artifact creatures."
$ability1 が渡されると、wordpress はそれを投稿に挿入します。これが結果です。
Argothian Pixies can’t be blocked by artifact creatures.
� 文字の後のすべてを削除します。
"" であるはずなのに、なぜ £ が � に変更されるのでしょうか。何が欠けているのかよくわかりません