Традиция, блин, однако
#1
10 июля 2009 в 08:12
на каком сайте, где можно посмотреть?
На этом сайте, например). Посмотреть можно здесь:
instantcms.ru/blogs/0/38/post195.html
instantcms.ru/blogs/0/38/post195.html
#3
10 июля 2009 в 17:51
Увы, Наталья, найден только баг, а лекарства пока нет (или я чего-то пропустил?)Как я поняла, ответ найден v
Спасибо. правда, на счет "проф" — это преувеличено.Очень уважаю Виктора, проф. Спасибо ему. И классный парень love
Я не профи, я только учусь… у таких профи как Солнечный ребёнок. Поверьте — вот здесь без преувеличения.
Сегодня в 00:20
#4
10 июля 2009 в 18:07
так найдено или не найдено лекарство?
#5
10 июля 2009 в 18:14
Для очистки адреса разработчики воспользовались функцией "htmlspecialchars ()"Судя по описанию функция "htmlspecialchars ()" проглатывает знак "?" может стоит попробовать функцию "htmlentities ()".
Я, к сожалению, не разбираюсь в таких тонкостях 😥
Я, к сожалению, не разбираюсь в таких тонкостях 😥
#6
10 июля 2009 в 18:20
Мне кажется, Солнечный ребенок ошибочно поняла третий пост, как указание на лекарство найденное мною. На самом деле, это указание где можно посмотреть баг на этом сайте в действии.
Я не нашел упоминаний о способе лечения данного бага.
Я не нашел упоминаний о способе лечения данного бага.
#7
11 июля 2009 в 06:44
Насколько я понял обработкой bb-кода занимается функция url_2html. Вот она:Нигде по тексту не обнаружил обработки/обрезания адреса. Поэтому и предположил, что обрезается на обработке строки в htmlspecialchars(). Тогда наверно обрезается ранее перед вызовом этой функции (url_2html)
function url_2html($elem) { $attr = ''; $href = $elem['attrib']['url']; if ( ! $href ) { foreach ($elem['val'] as $text) { if ('text'==$text['type']) { $href .= $text['str']; } } } 'http://','https://','ftp://','file://','#','/','?','./','../' ); $is_http = false; foreach ($protocols as $val) { $is_http = true; break; } } if (! $is_http) { $href = 'http://'.$href; } return '<a'.$attr.'>'.$this -> get_html($elem['val']).'</a>'; } }