Помогите разобраться с htmlspecialchars

gigi1988

Новичок
Помогите разобраться с htmlspecialchars. Переделываю плагин для wordpress
PHP:
 $content=get_the_title_rss();
 echo htmlspecialchars($content,ENT_QUOTES);
В этом коде символы < > " ' & заменяются
PHP:
$content=get_post_meta($post->ID, yandex_related, true);
echo htmlspecialchars($content,ENT_QUOTES);
А в этом коде замена не происходит. Не могу понять в чем причина. Спасибо
 

gigi1988

Новичок
Да я понимаю, что такого быть не может. Но возможно я где-то упускаю какую-то мелочь как это обычно бывает. Вот и решил обратиться за помощью
Вот тут результаты выполнения скрипта
А вот выдержка из кода. Там где <item> все работает нормально, а ниже не выполняется.
PHP:
	<item>
		<?php //echo "<title>"; 
		$content=get_the_title_rss();
?>
<?php
 echo htmlspecialchars($content,ENT_QUOTES);
//echo $content;  </title>
  ?>
		<link><?php 
			$content=get_permalink();

  echo htmlspecialchars($content,ENT_QUOTES);		
?>
</link>
	<?php 
	if(get_post_meta($post->ID, author, true))
	{echo "<author>";
 echo get_post_meta($post->ID, author, true);
 echo "</author>";
}
	?>
		<?php // rss_enclosure(); ?>
		<pubDate><?php
			$gmt_offset = get_option('gmt_offset');
			$gmt_offset = ($gmt_offset>9)?$gmt_offset:('0'.$gmt_offset.'00');
			echo mysql2date('D, d M Y H:i:s +'.$gmt_offset, get_date_from_gmt(get_post_time('Y-m-d H:i:s', true)), false); ?></pubDate>
	<yandex:related>
						<?php
					//	if(get_post_meta($post->ID, related, true))
		$content=get_post_meta($post->ID, yandex_related, true); ?>
<?// echo $content; ?>
<?php
   echo htmlspecialchars($content,ENT_QUOTES);
		?>
		</yandex:related>
 

~WR~

Новичок
Предположу, что проблема в следующем:

Символ « и " - это разные символы. Специальное значение имеют только символы: " ' > < &
Все остальные формы кавычек, скобочек и т.д. остаются как есть. Это нормально.

P.S. Для работы с XML лучше бы использовать DOM или SimpleXML. В этом случае вам не нужно будет волноваться о многих мелочах, и поддерживать код будет в сто раз проще.
 
Сверху