Закрыть
Загрузка данных
Логин:   Пароль:      
Регистрация   Забыли пароль?

Поиск по Bigstreet:



Важные объявления:

Инвайты на bigstreet можно попросить здесь Регистрация по инвайтам это нормальная практика, чтобы отсеять лишних людей, спаммеров и автоматические программы регистрации. Все патчи будут находится только в закрытых сообществах!

Новое в лучших проектах:

И в деле, и на отдыхе сайт Домоседы.Ру - Ваш тайный советник

Все про бульдогов и их хозяев. Блог платформы - bigstreet.

СПОНСИРОВАНИЕ

15 горячих:

Закрыть
Загрузить:
Указать:
Выравнивание:    Копирайт:
Альт
Цвет шрифта Закрыть
Белый Розовый Серебряный Оливковый Красно-коричневый Лимонный Зеленый Темно-синий Желтый Красный Серый Фиолетовый Водный Зеленовато-голубой Голубой
Выделить маркером Закрыть
Розовый Серебряный Оливковый Красно-коричневый Лимонный Зеленый Темно-синий Желтый Красный Серый Фиолетовый Водный Зеленовато-голубой Голубой Черный
Смайлики ;) Закрыть
Улыбка Нахмуриться Подмигивание Язык Смех Смущение Нерешительность Сюрприз Поцелуй Вопль Класс Денежки Ошибся Невинность Плач Рот на замке

Парсер убивает прикрепленные изображения

Я имею ввиду не обратный слеш при magic_quotes_gpc on, а именно странное поведение парсера в ответ на присутствие в редактируемом тексте уже существующего тега IMG.
При редактировании поста обычным пользователем происходит такая неприятная вещь —
парсер режет код уже прикрепленных к посту изображений, заменяя двойные кавычки на типографские и меняя картинку в посте на обычную ссылку следующего вида

  1. <img src=«localhost.ru/uploads/users/7/2009-02-15/73.jpg» />


При еще одном, повторном редактировании, такая ссылка опять режется парсером и в результате становится просто куском обычного текста.

  1. <img src="http://«<a" id="size-img"/>localhost.ru/uploads/users/7/2009-02-15/73.jpg»


Таким образом, если пользователь решил при редактировании добавить в свой опубликованный пост новую картинку, то уже существующие картинки из поста исчезнут (ну, или каждую из них придется заливать сначала, что вообще не логично).
Если убрать из парсера замену кавычек, проблема все равно остается. Можно конечно сделать редактирование постов только админом (парсер в этом случае будет отключен), но это далеко не выход, т.к. серьезно ущемляет права пользователей на сайте.

Наверняка кто-нибудь уже сталкивался с данной проблемой и возможно даже решил ее. В таком случае очень прошу — пожалуйста поделитесь решением.

UPD

Нашел следующее решение:

При использовании полезнейшего хака от inetlover Публикация изображений. Часть вторая. в strings.php

вместо:

  1. /**  
  2.          *Make true layout from illustration, inputted by users
  3.          */
  4.         function safeImages($text) {
  5.         $search = array('"<img (.*)>"Ui'
  6.                                         );
  7.         $replace = array("<img $1 id=\"size-img\">\n"
  8.                                         );
  9.         $text = preg_replace($search, $replace, $text);
  10.         return $text;
  11. }


сделал:

  1. /**  
  2.          *Make true layout from illustration, inputted by users
  3.          */
  4.         function safeImages($text) {
  5.         $search = array('"<img (.*)>"Ui'
  6.                                         );
  7.         $replace = array("<img id='size-img' $1 >\n"
  8.                                         );
  9.         $text = preg_replace($search, $replace, $text);
  10.         return $text;
  11. }


Как ни странно, но после этой нехитрой перестановки пары символов (см. в 7-й строке),
парсер перестал бить изображения. На версии jevix-1.0 работает.
tommyred 25 февраля 2009 23:06 комментариев: 3
:) 2,13 :(
просмотров: 1681

Комментарии:
Я такое наблюдал в версии jevix-1.0, когда откатился до jevix-php-0.9.2 проблема исчезла, выяснение причины отложил до лучших времен.
inetlover inetlover   25 февраля 2009 23:16
:) 1 :( #
Действительно, у меня был jevix-1.0. Спасибо за совет, вернул 0.9.2 и проблема разрешилась.
tommyred tommyred   25 февраля 2009 23:38
:) 0 :( #
Обновил пост. Насчет 100% верности решения не уверен, но вроде как все работает.
tommyred tommyred   26 февраля 2009 01:02
:) 1 :( #
Написать комментарий
Только зарегистрированные пользователи могут оставлять комментарии.





Подписаться на рассылку
"Бесплатный движок bigstreet.ru"


 
© 2008-2010. | О сайте | Инструкции | Обратная связь
© Powered by BigStreet RC1-maps Сервис коротких адресов
www.webmoney.ru Участник проекта CMS Magazine


Работа с БД:
 Время - 0.0023
 Запросов - 8
Работа с кэшем:
 Время - 0.016
 Записей - 2
 Прочтений - 5
Общее время:
 0.0619