[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Редактирование выводимого изображения
kapa57
Здравствуйте.

В выводимом контенте есть изображения. Необходимо в тегах изображения немного поменять "style", но не получается найти все картинки средствами php.

картинка выводится:
<img alt="" src="/upload/images/img1.jpg" style="width: 1149px; height: 767px;" />


попытка найти все теги изображения:

// $str - выводимый контент
$ret=0;
$strlength = iconv_strlen($str, 'UTF-8'); // общее количество символов
for ($i=0; $i<$strlength; $i++) { // прогоним весь текст
if ($str[$i].$str[$i+1].$str[$i+2].$str[$i+3]=="<img") {
$ret++;
}
}

echo ret;


Всего 4 картинки, ответ скрипта 2, не могу понять почему, может сможете подсказать? Или предложить иной способ нахождения и изменения стиля картинки?
sergeiss
Цитата (kapa57 @ 23.03.2016 - 21:54)
В выводимом контенте есть изображения.

Во-первых, откуда берется этот контент?

Во-вторых, в ПХП есть специальные возможности для парсинга HTML http://php.net/manual/ru/class.domdocument.php

И в-третьих, изменение стилей можно сделать на стороне браузера.

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

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

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

user posted image
kapa57
Контент берется из БД.

Каким образом браузер поменяет размер картинки, если стиль указывает размер ее? Т.е. есть необходимость поставить авто размер, для этого и парсится картинка.
SerginhoLD
kapa57
на css сделай ширину для этих картинок и !important добавь. ну если конечно в этом участке других изображений нет с которыми может это пересечься

_____________
"internet explorer всех правильней отображает страницы" ©
kapa57
Цитата (SerginhoLD @ 23.03.2016 - 22:37)
на css сделай ширину для этих картинок и !important добавь. ну если конечно в этом участке других изображений нет с которыми может это пересечься


Данный способ не подходит. Данные берутся из БД, куда попадают через визуальный редактор, который не прописывает авто размеры. Именно для этого и надо несколько редактировать вывод картинок.
SerginhoLD
зачем авто размер? что в итоге?

_____________
"internet explorer всех правильней отображает страницы" ©
SerginhoLD
и почему не подходит?
<div>
твои данные из редактора
</div>

div img { width: auto !important;}


_____________
"internet explorer всех правильней отображает страницы" ©
kapa57
Цитата (SerginhoLD @ 23.03.2016 - 22:42)
зачем авто размер? что в итоге?

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

Цитата (SerginhoLD @ 23.03.2016 - 22:43)
и почему не подходит?

насколько помню, стиль прописанный в теге будет приоритетным
SerginhoLD
Цитата (kapa57 @ 23.03.2016 - 18:47)
насколько помню, стиль прописанный в теге будет приоритетным

Цитата (SerginhoLD @ 23.03.2016 - 18:37)
на css сделай ширину для этих картинок и !important добавь


img {
max-width: 100%;
height: auto !important;
}


_____________
"internet explorer всех правильней отображает страницы" ©
kapa57
Цитата (SerginhoLD @ 23.03.2016 - 22:48)
img {
  max-width: 100%;
  height: auto !important;
}


Спасибо.

Несколько в CSS не знал этой плюшки. Но и решение на PHP нашел.
Хотя данный метод намного проще и быстрее.
Быстрый ответ:

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