Супербыстрый хостинг на SSD от 165р в месяц   •   Реклама
2 228 просм
1 комм
Поделиться:

Автоматическое заполнение alt изображениям на сайте на PHP

Атрибут «alt» у изображений позволяет передать пользователю некоторую информацию о нем до того момента, пока изображение полностью не загрузилось или оно вовсе отсутствует.

Большинство сеошников при оптимизации сайтов стараются избавиться от пустых альтов. Эти же рекомендации и дает всем известный валидатор HTML-разметки.

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

В главный файл вашего сайта (CMS), а чаще всего это файл index.php, в самый верх вставьте скрипт:

function fill_alt($buffer) {

	preg_match_all("/<img (.*?)\/>/", $buffer, $images);
		
	if(!is_null($images)) {
			
		foreach($images[1] as $index => $value) {
				
			if(!preg_match("/alt=/", $value)) { // Если у изображения нет alt
				
				preg_match("/src=\"(.*?)\"/", $images[0][$index], $matches);

				$image_name = basename($matches[1]); 
				$image_name = preg_replace("/\.[^.]+$/", "", $image_name); // Имя изображения без расширения
				$buffer = str_replace($images[0][$index], str_replace("<img", '<img alt="'.$image_name.'"', $images[0][$index]), $buffer);

			} elseif(preg_match("/alt=\"\"/", $value)) { // Если у изображения есть alt, но он пустой
				
				preg_match("/src=\"(.*?)\"/", $images[0][$index], $matches);

				$image_name = basename($matches[1]); 
				$image_name = preg_replace("/\.[^.]+$/", "", $image_name); // Имя изображения без расширения
				$buffer = str_replace($images[0][$index], str_replace(array("<img", "alt=\"\""), array('<img alt="'.$image_name.'"', ""), $images[0][$index]), $buffer);

			}
			
		}

	}
	
	return $buffer;

}

ob_start("fill_alt");

После этого поставленная задача должна благополучно решиться. Что делает этот скрипт? Он ищет все изображения на странице, у которой отсутствует тег alt или же он пустой, после чего добавляет его, а в качестве содержимого использует название самого изображения.

Вполне удобно. По желанию скрипт можно переделать под определенную переменную в вашем скрипте.

1
комментарий
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Администратор  |  732

Статья обновлена.

Полностью изменена логика работы скрипта.

23.06 в 02:24
  • 0
Подняться наверх
«Pandoge» - помощник веб-мастера