2014-07-08 3 views
0

У меня есть это в мой канал, в Друпал просмотров:Как я могу удалить кавычки в RSS

<link>Prueba &quot;con comillas&quot;</link> 

Я попытался создать модуль вроде этого:

function views_without_encoded_preprocess_views_view_views_rss(&$vars) { 
    if (!empty($vars['rss_feed'])) { 
    $vars['rss_feed'] = strtr($vars['rss_feed'], array(
     '&amp;#039;' => '&#039;', 
     '&amp;quot;' => '&quot;', 
     '&amp;lt;' => '&lt;', 
     '&amp;gt;' => '&gt;', 
     '&amp;amp;' => '&amp;', 
     '&quot;gt' => '', 
    )); 
    } 
} 

но все не в порядке. Я продолжаю рассматривать эту часть:

<link>Prueba &quot;con comillas&quot;</link> 

Только для котировок.

ответ

3

Как я вижу, вы пытаетесь использовать представления RSS.

Существует исправление, которое, как представляется, работает, но оно было протестировано только на сайтах Drupal 6. В Drupal 7 некоторые вещи изменились, но попробовать этот один:

Перейти к views_rss/темы и открыть theme.inc

выписывать все «функции функции template_preprocess_views_view_views_rss, и поместить его в вашей темы template.php.

Изменить имя функции для: функции yourthemename _precrocess_views_view_views_rss

Затем в строке 200 в первоначальной теме, или там, где он читает «// Добавить XML-элемент (ы) в массив пункт» вставить следующий раз выше:

if (empty($rss_elements)) continue; 
     // Insert here -- clean up special characters 
     $rss_elements[0]['value'] = htmlspecialchars_decode(trim(strip_tags(decode_entities($rss_elements[0]['value'])),"\n\t\r\v\0\x0B\xC2\xA0 ")); 
     $rss_elements[0]['value'] = htmlspecialchars($rss_elements[0]['value'], ENT_COMPAT); 
     // end of cleaning 
     // Add XML element(s) to the item array. 
     $rss_item['value'] = array_merge($rss_item['value'], $rss_elements); 
} 

Проверьте свой RSS .... вам может потребоваться несколько раз очистить кеш.

Еще одна вещь, которую вы могли бы попробовать - htmlspecialchars. Мне кажется, что вывод полей RSS-представлений может использовать это для принудительной кодировки на кавычки, апострофы и амперсанды.

Надеюсь, что это поможет.

+0

Отлично! Большое спасибо. Оно работает! – user3718166

+0

@ user3718166: [Пожалуйста, прочтите это] (http://stackoverflow.com/help/accepted-answer) и [этот вопрос с вопросом] (http://meta.stackexchange.com/questions/5234/how-does-accepting -an-ответ-работа). Bam. – Will

Смежные вопросы