[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Браузер добавляет к внешним урл адрес текущ. сайта
konon
В тексте страницы после редактирования FCKEditor прописана внешняя ссылка:

<a href="http://www.sobor.by">...</a>

или точнее c html-примитивами:

<a href=&#34http://www.sobor.by&#34>...</a>

а броузер выводит эту страничку с добавлением урл текущего сайта:

http://www.mysait.by/"http://www.sobor.by"

Страница естественно не находится.
Если убрать ковычки:

<a href=http://www.sobor.by>...</a>

то всё нормально.Броузер не добавляет урл текущего сайта.
Подскажите, как это побороть?
sergeiss
Цитата (konon @ 7.06.2015 - 02:54)
В тексте страницы после редактирования FCKEditor прописана внешняя ссылка:

<a href="http://www.sobor.by">...</a>

Она там у тебя прописана именно как ссылка или как тест? Судя по описанию, как мне кажется, ты в виде текста прописал, а не в виде ссылки.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Guest
Цитата (konon @ 7.06.2015 - 02:54)
<a href=&#34http://www.sobor.by&#34>...</a>

Кавычки нормальные пропиши.
Guest
Цитата
<a href=&#34http://www.sobor.by&#34>...</a>
Кавычки нормальные пропиши.

Вот прописал (для наглядности описал примитивы через пробел иначе они отображаются как ")
<a href=& # 3 4;http://www.sobor.by& # 3 4;>...</a>

Но дело было не в этом.

Спасибо всем, кто отозвался на мою проблему и участвовал в обсуждении.
На одном из форумом дали мне подсказку и проблема решена с помощью двух операторов:
<code>
1. $nnews=.str_replace('& # 3 4;','& q u o t;',$row['nnews']);
2. $nnews=htmlspecialchars_decode($nnews, ENT_QUOTES);
</code>
Редактор CKeditor (раньше назывался FCKeditor) в конце сеанса редактирования заменяет " на примитив "
Записываем в базу текст с примитивом двойной кавычки & # 3 4;
Перед выводом контента извлекаем его из базы и заменяем примитив & # 3 4; на примитив & q u o t; потому что функция htmlspecialchars_decode() распознаёт именно этот примитив. Далее применяем функцию htmlspecialchars_decode(), которая заменяет примитивы на спец.символы. Тогда браузер отображает всё как надо.
Можно обойтись одним оператором и преобразовать только двойную кавычку, а остальные спец.символы оставить как примитивы:
<code>
1. $nnews=.str_replace('& # 3 4;','"',$row['nnews']);
</code>
Но это как-то некрасиво и наверно чревато в дальнейшем неприятностями
Guest
Ёпта.
Ты ссылки вводи в режиме "Source".
Гость_konon
Что-то я никак не пойму, как на этом форуме цитировать апонента.
Предыдущий мой пост сначала записался от имени моего собеседника.
В следующем прописал лишнюю букву после своего имени kononj/
А как всё это исправить?
konon
так тут оказывается гости не зарегистрировавшись могут участвовать в обсуждении?
Круто! Такого я не встречал.
konon
Цитата (Guest @ 7.06.2015 - 20:44)
Ёпта.
Ты ссылки вводи в режиме "Source".

Ссылки прописываю не я, а пользователь с пом. кнопки "ссылка" редактора CKEditor (старое название FCKEditor)
konon
Цитата (sergeiss @ 7.06.2015 - 02:59)
Цитата (konon @ 7.06.2015 - 02:54)
В тексте страницы после редактирования FCKEditor прописана внешняя ссылка:

<a href="http://www.sobor.by">...</a>

Она там у тебя прописана именно как ссылка или как тест? Судя по описанию, как мне кажется, ты в виде текста прописал, а не в виде ссылки.

Идёт текст. А в тексте ссылки. Наверно как тест. Это делает пользователь с пом. кнопок CKEditor
sergeiss
Цитата (sergeiss @ 7.06.2015 - 02:59)
Она там у тебя прописана именно как ссылка или как тест?

Цитата (konon @ 7.06.2015 - 20:55)
Ссылки прописываю не я, а пользователь с пом. кнопки "ссылка"

У меня в одном проекте используется такой же редактор. Если вводишь ссылки по-нормальному, то они нормально и выводятся, безо всяких лишних телодвижений.

Ты сам проверял, как оно сделано, или чисто на слова юзеров опираешься, что и как они делают?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
$nnews=.str_replace('& # 3 4;','& q u o t;',$row['nnews']);
$nnews=htmlspecialchars_decode($nnews, ENT_QUOTES);

просто скорее всего вы используете htmlspecialchars не там где надо (боюсь даже перед занесением в БД), вот и рога с копытами случаются


_____________
Стимулятор ~yoomoney - 41001303250491
killer8080
konon
а с XSS как борешься?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.