Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Браузер добавляет к внешним урл в контенте адрес сайта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
kononj
Отправлено: 07 Июня, 2015 - 01:44:17
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




В тексте страницы после редактирования 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>

то всё нормально. Браузер не добавляет урл текущего сайта.
Подскажите, как это побороть?
 
 Top
Ts.Saltan
Отправлено: 07 Июня, 2015 - 09:14:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




На сервере точно нет никаких фильтров?
Если нет, то скорее всего сам редактор режет кавычки
 
 Top
LIME
Отправлено: 07 Июня, 2015 - 12:43:35
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




kononj пишет:
после редактирования FCKEditor
он уже так не называется не помню с какого года
Практически сразу как вышел
Изза нелитературного сокращения на англ языкеУлыбка
http://ckeditor[dot]com вот он
Ну и поискал за тебя
Мне не трудно прикинь
http://www[dot]drupal[dot]ru/node/115876
 
 Top
kononj
Отправлено: 07 Июня, 2015 - 18:51:26
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Да точно так: нужно использовать htmlspecialchars_decode(), так как при выводе контента должны быть не примитивы (по крайней мере в тэге href=), а спецсимволы.
Спасибо всем, кто отозвался на мою проблему и участвовал в обсуждении.
Проблема решена с помощью двух операторов:
<code>
1. $nnews=str_replace('&#тридцать четыре;','&quot;',$row['nnews']);
2. $nnews=htmlspecialchars_decode($nnews, ENT_QUOTES);
</code>
Редактор CKeditor (раньше назывался FCKeditor) в конце сеанса редактирования заменяет двойную кавычку на примитив "
К редактору претензий нет.
Записываем в базу текст с примитивом двойной кавычки "
Перед выводом контента извлекаем его из базы и заменяем примитив " на примитив &quot; потому что функция htmlspecialchars_decode() распознаёт именно этот примитив. Далее применяем эту самую функцию htmlspecialchars_decode(), которая заменяет примитивы на спец.символы. Тогда браузер отображает всё как надо.
Можно обойтись одним оператором и преобразовать только двойную кавычку, а остальные спец.символы оставить как примитивы:
<code>
1. $nnews=.str_replace('&#тридцать четыре;','"',$row['nnews']);
</code>
Но это как-то некрасиво и наверно чревато в дальнейшем неприятностями

(Отредактировано автором: 07 Июня, 2015 - 18:57:14)

 
 Top
LIME
Отправлено: 07 Июня, 2015 - 18:55:33
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




А если тебе понадобится ввести не ссылку а именно тег? Для отображения примера html кода
Давай очередную цепочку реплэйсовУлыбка
 
 Top
kononj
Отправлено: 07 Июня, 2015 - 19:16:04
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




LIME пишет:
А если тебе понадобится ввести не ссылку а именно тег? Для отображения примера html кода
Давай очередную цепочку реплэйсовУлыбка

Да! Не совсем конечно хорошо...
Надо конечно подумать о последствиях (поэтому я и пошёл на форум - своего опыта маловато).
Но пока возможно прокатит, так как этот код для админки сайта вывода новостей: нужен вывод картинок, внешние ссылки в тексте, скачивание какого-нибудь документа .doc по ссылке в тексте. Вот вроде и всё, что пока нужно. Пользователь админки HTML не владеет. Работает с кнопками CKEditor и всё. Отображать пример html кода - вряд ли это понадобится.

(Отредактировано автором: 07 Июня, 2015 - 19:22:08)

 
 Top
LIME
Отправлено: 07 Июня, 2015 - 19:18:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Тогда усть пользуется кнопкой добавления ссылки
 
 Top
kononj
Отправлено: 07 Июня, 2015 - 19:27:12
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




LIME пишет:
Тогда усть пользуется кнопкой добавления ссылки

Так и делает в CKEditor.
Их начальник - тот покруче. Знает HTML. В админке есть также возможность редактирования текста новости напрямую без CKEditor, то есть как обычный текст формой HTML. Там, возможно, проблемы возникнут... Всё зависит от того, что им может ещё понадобиться сверх того, что я описал.
 
 Top
LIME
Отправлено: 07 Июня, 2015 - 19:44:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Так блин отключи фильтры в режиме хтмл. Я для кого ссылку давал?!!!
 
 Top
kononj
Отправлено: 08 Июня, 2015 - 10:40:23
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




LIME пишет:
Так блин отключи фильтры в режиме хтмл. Я для кого ссылку давал?!!!

За ссылки спасибо!
Я их изучаю для применимости к тому коду админки и вывода контента, который мне достался в наследство.
Тут есть два момента, требующих осмысления:
1. Изначально в админке была и остаётся функция непосредственного добавления/редактирования текста новости без CKEditor простой формой HTML. Там же необходимая загрузка картинок с кадрированием и т.д. Код много кем код дописывался... Сейчас там мозг сломаешь.
Этот код остаётся в работе, так как там много чего нужного. Отказаться нельзя. переписать руки не доходят.
2. Я сделал дополнительно ещё одну функцию редактирования текста новости с возможностями CKEditor. Версия CKEditor не последняя. 2 - 3 -летней давности.
Должен корректно работать код пункта 1 и пункта 2 да ещё и вывод контента.
С 9-00 до 17-00 в админке работают пользователи. Не влезешь. Что-то попробовать можно после 17-00.
Так что спасибо за ссылку. Буду смотреть.

(Отредактировано автором: 08 Июня, 2015 - 10:42:03)

 
 Top
Мелкий Супермодератор
Отправлено: 08 Июня, 2015 - 10:56:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




kononj пишет:
С 9-00 до 17-00 в админке работают пользователи. Не влезешь. Что-то попробовать можно после 17-00.

Срочно поднимайте локальную копию, с которой работаете только вы и которую даже если сломаете капитально - не страшно.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB