ProfiPHPProfiPHP
  1. Главная
  2. Полезное в PHP
  3. Автоматическое добавление атрибутов Alt в теги Img

Автоматическое добавление атрибутов Alt в теги Img

Инструменты проверки страниц сайта всегда выдадут предупреждения об отсутствии атрибутов Alt в изображениях Img.

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

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

Вторая задача реализуется несколькими вариантами, все зависит от необходимого результата. Например, можно воспользоваться регулярным выражением:
preg_match_all( '/<img src=\"(.*?)\"[^>]*>/', $content, $matches );
if ( count( $matches[1] ) ) {
foreach ( $matches[0] as $index => $value ) {
$content = str_replace( $matches[0][$index], '<img src="'.$matches[1][$index].'" alt="desctiption" />', $content );
}
}
Вариант будет работать под конкретные задачи, но в большей степени просто демонстрирует работу регулярных выражений, а не выполняемый код в рабочем проекте.

Для добавления описания изображений можно использовать DOMDocument:
$dom = new DOMDocument;
$dom->loadHTML( mb_convert_encoding( $content, 'HTML-ENTITIES', 'UTF-8' ) );
$images = $dom->getElementsByTagName('img');
foreach ( $images as $image ) {
$image->setAttribute( 'alt', 'description' );
}
echo $html = $dom->saveHTML( );

Добавить комментарий

Имя:
Текст комментария: