/ * feedvalidator.org (Feedburner рекомендует этот сайт для проверки ваших каналов) говорит: «Для самого широкого взаимодействия профиль RSS рекомендует использовать шестнадцатеричную символьную ссылку« & »для представления« & »и« <»дляпредставлять "<". * / </p>
// find title problems
$find[] = '<';
$find[] = '\x92';
$find[] = '\x84';
// find content problems
$find_c[] = '\x92';
$find_c[] = '\x84';
$find_c[] = ' ';
// replace title
$replace[] = '<';
$replace[] = ''';
$replace[] = '"';
// replace content
$replace_c[] = ''';
$replace_c[] = '"';
$replace_c[] = ' ';
// We don't want to re-replace "&" characters.
// So do this first because of PHP "feature" https://bugs.php.net/bug.php?id=33773
$title = str_replace('&', '&', $title);
$title = str_replace($find, $replace, $title);
$post_content = str_replace($find_c, $replace_c, $row[3]);
// http://productforums.google.com/forum/#!topic/merchant-center/nIVyFrJsjpk
$link = str_replace('&', '&', $link);
Конечно, я делаю некоторую предварительную обработку перед добавлением $ title, $ post_content и $ link в мою базу данных. Но это должно помочь решить некоторые распространенные проблемыполучить действительный RSS-канал.
Обновление: исправлена проблема & # x26; # x26; # x26; "рекурсия", см. https://bugs.php.net/bug.php?id=33773