powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [php] preg_match_all выборка всех <img без тегов title и alt
9 сообщений из 9, страница 1 из 1
[php] preg_match_all выборка всех <img без тегов title и alt
    #38036430
zloyGamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите кто нибудь, я не могу догнать,
с регулярками давно не работал и не помню/илинезнаю как вернее,
через отдельный класс или подвыражение: "[^(alt=)]" или "^(alt=)"

Код: php
1.
2.
      $pattern = "/<img[^<>]*src=['|\"](.*)['|\"][^<>]*^(alt=)[^<>]*[>|\/>]{1}/isU";
      $data = preg_replace($pattern,"<img src=\"$1\" alt=\"лучшее фото\" />",$data);
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38036434
zloyGamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема в том что не работает ни так:

Код: php
1.
2.
$pattern = "/<img[^<>]*src=['|\"](.*)['|\"][^<>]*^(alt=)[^<>]*[>|\/>]{1}/isU";
$data = preg_replace($pattern,"<img src=\"$1\" alt=\"лучшее фото\" />",$data); 

ни так:
Код: php
1.
2.
$pattern = "/<img[^<>]*src=['|\"](.*)['|\"][^<>]*^[(alt=)][^<>]*[>|\/>]{1}/isU";
$data = preg_replace($pattern,"<img src=\"$1\" alt=\"лучшее фото\" />",$data); 



ну это с учетом того что атрибут alt= будет всегда после атрибута src=

а в идеале хотелось бы что бы и тот и другой были выбраны независимо от их положения
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38037003
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На скорую руку как-то так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?php
$html = <<<XXX
	<html>
	<img src="1.jpg" width="250" height="70" />
	<p><img class="class2" src="2.jpg" alt="Alt 2" title="Title 2" /></p>
	<div><img class="class3" src="3.jpg" alt="Alt 3" title="Title 3" /></div>
	<br>
	<img src="4.jpg" height=32 width=32 alt="Alt 4" />
	<img class="class5" src="5.jpg" />
	</html>
XXX;

$img_no_tags = array(); // сюда будем собирать img без тегов

// 1. Cобрали все изображения в массив
preg_match_all('/<img[^>]+>/i',$html, $result);

// 2. Прошлись по массиву
foreach($result[0] as $img)
{
	if (!preg_match('/(alt|title)\s*=\s*("[^"]*")/i',$img))
		$img_no_tags[] = $img;
}

print_r($img_no_tags);
?>
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38038448
zloyGamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет нет нет phpz
так и я могу кучу обработок сделать по всем <img тегам,
я хотел узнать как можно выбрать все элементы img без атрибута alt или title одним регулярным выражением
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38038451
zloyGamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно ли это в принципе
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38038477
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zloyGamerвозможно ли это в принципе
Можно, но будет выполнятся оооочень медленно, что-то типа
Код: php
1.
(<img(?:[^>](?!(alt|title)=))*+>)
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38038510
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторя хотел узнать как можно выбрать все элементы img без атрибута alt или title одним регулярным выражением
тебе надо почистить альты или найти все картинки БЕЗ альтов?
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38040070
zloyGamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowтебе надо почистить альты или найти все картинки БЕЗ альтов?
да, надо найти все картинки без альтов


Код: php
1.
(<img(?:[^>](?!(alt|title)=))*+>)

не могу понять что здесь означает метасимвол "?" ?
...
Рейтинг: 0 / 0
[php] preg_match_all выборка всех <img без тегов title и alt
    #38040504
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [php] preg_match_all выборка всех <img без тегов title и alt
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]