0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 32

Нахождение изображений средствами php

23.03.2016, 22:16. Показов 623. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

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

картинка выводится:
HTML5
1
<img alt="" src="/upload/images/img1.jpg" style="width: 1149px; height: 767px;" />
попытка найти все теги изображения:
PHP
1
2
3
4
5
6
7
8
9
// $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, не могу понять почему, может сможете подсказать? Или предложить иной способ нахождения и изменения стиля картинки?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2016, 22:16
Ответы с готовыми решениями:

Вывод изображений средствами PHP
Возникла надобность вывести изображения в нечто похожее на галерею исходя из чего нашел и подстроил следующий код: $archive =...

Динамическое создание изображений средствами PHP
к примеру есть динамический баннер создаваемый на php . но есть сервисы которые закачивают к себе на свой хостинг баннере и потом и потом...

Редактор изображений - php+javascript или php+javaapplet
Требуется редактор изображений, в котором посетитель мог бы сделать уменьшенную копию картинки. Миникартинки у меня размером 100х133,...

9
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
23.03.2016, 22:23
Цитата Сообщение от kapa57 Посмотреть сообщение
Всего 4 картинки, ответ скрипта 2, не могу понять почему, может сможете подсказать?
Не можем - мы же не видим html-код в котором Вы ищите '<img'. Может быть там где то IMG вместо img, может еще чего. Кстати у Вас там ret вместо $ret.
Цитата Сообщение от kapa57 Посмотреть сообщение
Или предложить иной способ нахождения и изменения стиля картинки?
1. strlen() strpos() substr()
2. Регулярные выражения
3. DOMDocument & SimpleXML
0
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 32
23.03.2016, 22:40  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Не можем - мы же не видим html-код в котором Вы ищите '<img'. Может быть там где то IMG вместо img, может еще чего. Кстати у Вас там ret вместо $ret.
Вижу небольшую помарку, но не знаю как отредактировать сообщение.

Вот кусок кода:
HTML5
1
2
3
4
5
...кедровыми орешками. Кстати, свежесорванные и сваренные кедровые шишки &ndash; любимое лакомство детворы. Они устраивают игры-соревнования, основанные на ловкости и умении сбить шишки с дерева. Часть ребятишек увлеченно занимается рыбалкой. Но не с лодок, а с берега.<br />
&nbsp;<br />
<img alt="" src="upload/images/img2.jpg" style="width: 1149px; height: 767px;" /><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Детей здесь очень любят. Родители боготворят своих чад, опекают их постоянно, но учат всему, что умеют сами. Маленьким позволяют дела...
Все теги "img" в нижнем регистре.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
23.03.2016, 22:47
kapa57,
PHP
1
2
3
4
5
6
7
8
$ret=0;
$strlength = strlen($str);   // общее количество символов
for ($i=0; $i<$strlength-3; $i++) {               // прогоним весь текст
    if ($str[$i].$str[$i+1].$str[$i+2].$str[$i+3]=="<img") {
         $ret++;
    }
}
echo  $ret;
1
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 32
23.03.2016, 22:55  [ТС]
Уже 4 находит. Видимо все дело в кодировке в изначальном коде?

Цитата Сообщение от kapa57 Посмотреть сообщение
$strlength = iconv_strlen($str, 'UTF-8'); * // общее количество символов
Спасибо)
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
23.03.2016, 23:05
Цитата Сообщение от kapa57 Посмотреть сообщение
Видимо все дело в кодировке в изначальном коде?
Ну да. Можно оставить и Ваш вариант, но тогда
PHP
1
$str[$i].$str[$i+1].$str[$i+2].$str[$i+3]
заменить на
PHP
1
mb_substr($str, $i, 4, "UTF-8")
Потому что длину строки Вы высчитываете с учетом кодировки, а обращаетесь к кусочкам строки без учета кодировки. В следствии того, что некоторые символы (русские буквы например) занимают больше 1 байта, вы проходили не всю строку.
0
55 / 55 / 21
Регистрация: 01.03.2016
Сообщений: 594
24.03.2016, 00:21
Почему регулярку не используете??
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
24.03.2016, 02:32
Цитата Сообщение от 53ifbb Посмотреть сообщение
Почему регулярку не используете??
Используем
PHP
1
2
3
4
5
6
$a ="<img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' /> dwdwdwfwefewf
<img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' />
wf <img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' /> wfwefwefwefwe f <img <img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' />
";
    preg_match_all("~(?<=<)img~",$a,$m);
    echo count($m[0]);
0
55 / 55 / 21
Регистрация: 01.03.2016
Сообщений: 594
24.03.2016, 07:15
Azdeman, находит 5 картинок, в коде 3 всего
еще сплю, может не хорошо работать
PHP
1
preg_match_all("/<img.+src\s+\=\s+\'(.+)\'.+\>/si",$a,$m);
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
24.03.2016, 09:41
Цитата Сообщение от 53ifbb Посмотреть сообщение
в коде 3 всего
вы уверены?
PHP
1
2
3
4
5
6
$a ="<img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' /> .//1
<img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' />//2
<img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' /> //3
<img //4
<img alt='' src='/upload/images/img1.jpg' style='width: 1149px; height: 767px;' />5//
";
Добавлено через 3 минуты
Цитата Сообщение от 53ifbb Посмотреть сообщение
preg_match_all("/<img.+src\s+\=\s+\'(.+)\'.+\>/si",$a,$m);
Я регулярку написал на быструю руку но, она ищет норм.. 4 img с ошибкой но думаю у ТС такого не будет
Цитата Сообщение от Azdeman Посмотреть сообщение
<img //4
P.S.У вас регулярка не совсем верная.
src\s+\=\s+
например в этой части
после src пробела может и не быть а вы обязываете что будет хотябы 1 пробел
src='img/img'
вот так не пройдет в вашей регулярке.
src\s*\=\s*
а вот так пройдет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2016, 09:41
Помогаю со студенческими работами здесь

Файл с кодом php средствами php
Товарищи! Есть задача при помощи php кода (например, файл 1.php) создавать файл с php кодом и записывать его на сервер (например, 2.php)....

Средствами PHP и с использованием ООП php создать реализацию следующего интерфейса:
interface ArrayHelperInterface extends IteratorAggregate, ArrayAccess, Countable { /** * @param...

Обрезка, поворот изображений средствами Oracle
Здравствуйте! Подскажите, пожалуйста, как осуществить обрезку и поворот изображений в Oracle. Само приложение написано на Jave,...

Построение графических изображений средствами BGI-графики.
Построить динамическое графическое изображение: ползущий питон. Prolog 2.0 Помоги плиз,я в этом ничего не понимаю, но очень...

Нахождение суммы средствами sql
есть запрос нахождения суммы по полю SELECT SUM(column_name) FROM table_name как переменной i присвоить найденное значение суммы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru