Форумы портала PHP.SU » » Вопросы новичков » Помогите разобраться с htmlspecialchars

Страниц (2): [1] 2 »
 

1. gigi1988 - 22 Июля, 2011 - 20:35:17 - перейти к сообщению
Помогите разобраться с htmlspecialchars. Переделываю плагин для wordpress
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  $content=get_the_title_rss();
  3.        
  4.  echo htmlspecialchars($content,ENT_QUOTES);
  5.  

В этом коде символы < > " ' & заменяются

CODE (text):
скопировать код в буфер обмена
  1.  
  2.                
  3. $content=get_post_meta($post->ID, yandex_related, true);
  4.  
  5.     echo htmlspecialchars($content,ENT_QUOTES);
  6.  

А в этом коде замена не происходит. Не могу понять в чем причина. Спасибо
2. LIME - 22 Июля, 2011 - 20:43:44 - перейти к сообщению
var_dump($content);
3. gigi1988 - 22 Июля, 2011 - 20:51:24 - перейти к сообщению
LIME пишет:
var_dump($content);

проблема в том, что этот плагин для работы с RSS и он начинает ругаться на несоответствие. Поэтому трудно отследить
4. Мелкий - 22 Июля, 2011 - 20:56:37 - перейти к сообщению
gigi1988 пишет:
проблема в том, что этот плагин для работы с RSS

А в чём проблема? Открывайте, как и всегда должно быть, исходник страницы и смотрите, что пришло.
5. gigi1988 - 22 Июля, 2011 - 20:58:24 - перейти к сообщению
Мелкий пишет:
А в чём проблема? Открывайте, как и всегда должно быть, исходник страницы и смотрите, что пришло.

Сообщение страницы при попытке вывести информацию о переменной
This page contains the following errors:

error on line 20 at column 48: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.
6. Мелкий - 22 Июля, 2011 - 21:01:30 - перейти к сообщению
Не интересует сообщение парсера. Откройте исходник страницы.
7. evgenijj - 22 Июля, 2011 - 21:10:30 - перейти к сообщению
Ну, в общем-то, мы и здесь видим, что есть ошибка
This page contains the following errors:
Эта страница содержит (следующие) ошибки
error on line 20 at column 48: EntityRef: expecting ';'
ошибка в строке 20, колонке 48: ожидается ;
gigi1988 -- ты спрашиваешь об ошибках? -- Скучно отвечать...
8. gigi1988 - 22 Июля, 2011 - 21:11:24 - перейти к сообщению
Мелкий пишет:
Не интересует сообщение парсера. Откройте исходник страницы.

1)string(103) "Большой концерт MC Kamazz, "Спектр" и "Поху&деть"!"
2)string(63) "Фото - из личного архива "Поху&деть""
Эта информация нужна была?
9. evgenijj - 22 Июля, 2011 - 21:16:39 - перейти к сообщению
gigi1988 -- ну, тебе ответ нужен, или ты зашел поболтать?
Я задал вопрос
Ну, в общем-то, мы здесь видим, что есть ошибка
This page contains the following errors:
Эта страница содержит (следующие) ошибки
error on line 20 at column 48: EntityRef: expecting ';'
ошибка в строке 20, колонке 48: ожидается ;
И этот вопрос не просто так -- я позволю себе процитировать для особо сообразительных
Очень многие люди не понимают, что такое сообщение об ошибке[dot] В основном эти люди делятся на две категории[dot] Первая считает, что сообщения об ошибках - это блажь разработчиков языка, надоедливый сервис, сделанный для того, чтобы программисту было не скучно[dot] И избавляться от сообщений надо любыми доступными способами[dot] Вторая категория не выросла из школьного возраста и воспринимает не смысл ошибки, а лишь сам факт[dot] Принимают пхп за стервозного завуча, который ругает не по делу, а абстрактно, за то, что оболтус[dot] То есть, факт появления ошибки вызывает у этих людей только негативные эмоции, а в смысл они даже не пытаются вчитываться[dot]
10. gigi1988 - 22 Июля, 2011 - 21:17:55 - перейти к сообщению
evgenijj пишет:
gigi1988 -- ну, тебе ответ нужен, или ты зашел подразнить местных?

Объясните нормально, что я должен сделать? Какую информацию мне нужно предоставить, чтобы вы мне смогли помочь?
11. evgenijj - 22 Июля, 2011 - 21:27:17 - перейти к сообщению
Цитата:
Какую информацию мне нужно предоставить, чтобы вы мне смогли помочь?

Давайте для начала исправим ошибки типа
This page contains the following errors:
error on line 20 at column 48: EntityRef: expecting ';'

А когда исправим эти -- будем думать о логических ошибках.
(Добавление)
Цитата:
что я должен сделать

Сделать над собой усилие, попытаться вырасти из школьного возраста, не воспринимать участников форума как стервозного завуча. Мы ту все белые и пушистые Улыбка
12. gigi1988 - 22 Июля, 2011 - 21:36:07 - перейти к сообщению
evgenijj пишет:
Давайте для начала исправим ошибки типа
This page contains the following errors:
error on line 20 at column 48: EntityRef: expecting ';'
А когда исправим эти -- будем думать о логических ошибках.


С исправлением ошибки проблем нет. Проблема в том, что результат я получаю не тот, который хочу.
Результат посмотреть можно тут: http://astfutur[dot]ru/wp-rss_yandex.php . Приведу лишь результаты выполнения 2-х частей кода:
1)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <title><?php  $content=get_the_title_rss();
  3.        
  4. echo htmlspecialchars($content,ENT_QUOTES);
  5.  
  6.  ?></title>
  7.  

Результат:
<title>
Большой концерт MC Kamazz, &quot;Спектр&quot; и &quot;Поху&amp;деть&quot;!
</title>

2)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <yandex:related>
  3. <?php
  4. $content=get_post_meta($post->ID, yandex_related, true);
  5. echo htmlspecialchars($content,ENT_QUOTES);
  6. ?>
  7. </yandex:related>
  8.  

Результат:
<yandex:related>Фото - из личного архива "Поху&деть"</yandex:related>
13. LIME - 22 Июля, 2011 - 21:50:27 - перейти к сообщению
var_dump($content);
и в исходники
(Добавление)
узнай сначала к чему ты htmlspecialchars применяеш
14. evgenijj - 22 Июля, 2011 - 21:56:45 - перейти к сообщению
Ну, разработчики WordPress тоже могут делать ошибки.Они всего лишь люди, не стоит ожидать, что они Боги. Если Вы видите, что функция get_the_title_rss() возвращает не то, что Вы ожидаете -- что Вы от участников форума php.su ждете? Чтобы мы осудили разработчиков WordPress? С Вашей стороны, следовало бы найти ошибку, и сообщить разработчикам WordPress.
15. gigi1988 - 22 Июля, 2011 - 22:14:23 - перейти к сообщению
LIME пишет:
var_dump($content);
и в исходники
(Добавление)
узнай сначала к чему ты htmlspecialchars применяеш


1)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $content=get_the_title_rss();
  3. echo var_dump($content);
  4.  

Результат:
string(103) "Большой концерт MC Kamazz, "Спектр" и "Поху&деть"!"
2)
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $content=get_post_meta($post->ID, yandex_related, true);
  3. echo var_dump($content);
  4.  

Результат:
string(64) "Фото - из личного архива «Поху&деть""
(Добавление)
evgenijj пишет:
Ну, разработчики WordPress тоже могут делать ошибки.Они всего лишь люди, не стоит ожидать, что они Боги. Если Вы видите, что функция get_the_title_rss() возвращает не то, что Вы ожидаете -- что Вы от участников форума php.su ждете? Чтобы мы осудили разработчиков WordPress? С Вашей стороны, следовало бы найти ошибку, и сообщить разработчикам WordPress.

С чего вы взяли, что функция get_the_title_rss возвращает не то что надо?
Проблема совсем в другом. Два приведенных кода из одного файла. И к одному htmlspecialchars успешно применяется, а ко второму нет. В этом проблема.

 

Powered by ExBB FM 1.0 RC1