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 :: IMG SRC в html-файле. Как изменить Width и убрать Height?
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
Есть разные, загружаемые на сайт через форму HTML документы.
Во многих есть картинки (загружается одновременно).
Естественно, ссылка на картинки идет через
<img src="путь до картинки" width=xxx height=xxx>
или
<img width=xxx height=xxx src="путь до картинки">
Причем размеры "ххх" могут быть как просто, так и в кавычках или процентах (width=300, width="300" или width=70%) и естественно, совершенно разные.
Однако из за этого могут оказываться картинки значительного размера (мелкие роли не играют, их перерабатывать не нужно), которые при последующем выведении уродуют дизайн.
Как удалить все теги размеров, если ширина больше 700 и выставить тег "width=700" ?
т.е.
если указанный width <700 - ничего не делаем, если больше 700 - выставляем жестко 700.
Увы, размеры самого файла-картинки менять нельзя (а то бы просто размеры порезал и теги удалил).
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
Учитывая, что что то все молчат - уточню и упрощу задачу.
Как выявить все сочетания width=(что угодно до пробела или до закрывающего >) (например - 'width=765 ' или 'width="598" ' или 'width=450>' )
Желательно, чтобы значение width я мог бы проверить и при превышении 700 пикселов - установить на 700.
И как просто удалить ВСЕ теги height с аналогичным условием (т.е. этот тег вообще удалить, пусть картинка пропорционально меняется в зависимости от Width)
Вроде задача вполне теперь простая, но что то моих мозгов на регулярные никогда не хватало...
----- Истина прежде всего в том, что...
KingStar
Отправлено: 02 Декабря, 2012 - 19:49:21
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
Спасибо, братья.
Что-то я действительно прозевал возможность заCSSить это...
Ща попробую и отпишусь, если что... (Добавление)
Хм... результат не самый лучший, так как ШИРИНА то выставляется, но ВЫСОТА остается прежней...
Хотя кто мне мешает зарубить тег Height везде прегреплейсом?
----- Истина прежде всего в том, что...
isvetlichniy
Отправлено: 05 Декабря, 2012 - 20:43:19
Гость
Покинул форум
Сообщений всего: 69
Дата рег-ции: Дек. 2012 Откуда: Украина
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
isvetlichniy пишет:
пробуй вот такую комбинацию (высоту свою поставь)
Увы, необходимо, чтобы пропорции картинок были сохранены. Т.е. если картинка будет 300х9000, то высота в 9000 - нормально.
В идеале, конечно, просто удалить теги Height, но моих знаний в регулярных не хватает, а курить мануалы не получается.
Подскажите регулярное выражение для прег-реплейса, удаляющее следующие варианты тегов height - болдом то, что наду удалить: height="ххх" src=путь к файлу (ххх - цифры) height=ххх src=путь к файлу
src=путь к файлу height="ххх">
src=путь к файлу height=ххх>
Упс, забыл еще 2 варианта: height="ххх"
src=путь к файлу (т.е. в 2 строки, после " нет пробела и перед src нет пробела) height=ххх
src=путь к файлу (аналогично - 2 строки)
Пытался через
height=.*?( >)
но тогда кастрирует все до следующего ">", т.е. первые 2 варианта не срабатывают. (Добавление)
Правильно ли получится:
1 чистка:
height=.*?[(\r\n) ] - замена на '' (убираются варианты, когда после тега height идет перенос строки или пробел
2 чистка:
height=.*?> - заменяем на > (убирается тег height, закрывающий картинки)
Понимаю, что коряво, но на больее меня пока не хватило. (Добавление)
Ну и еще прикол - тупой осел такой тупой, мля...
IE8 - да, по стилям обрезает размер картинки по ширине, но СТРАНИЦУ отображает, как будто ширина все еще офигенная (т.е. тупо слева остается широченное поле).
Ну и он единственный уроде, который тег height="" воспринимает как height="1", а не как отсутствие тега...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.