Изображения ALT тег в текстовом файле получить по php

Я пытаюсь настроить небольшую галерею на основе инструкций Дэвида Уолша.

На данный момент эта галерея предоставляет тег alt с использованием имен файлов изображений. Мне нужен способ использовать текстовый файл, связанный с моими изображениями, что-то вроде этого:

myprettypicture.jpg = "Here's a pretty picture"  
mynotsoprettypicture.jpg = "Here's a not so pretty picture"  

Затем извлеките его, чтобы поместить в качестве тегов ALT в галерею php. Пока что я просмотрел несколько галерей, и некоторые из них используют этот метод, но я понятия не имею, как использовать его с моей настоящей галереей...
Вы знаете сценарий или простой метод, близкий к тому, что я ищу?

Спасибо!

1 ответ

Решение

Если я правильно вас понимаю, у вас есть source_file.htm, как показано ниже.

<!DOCTYPE html>
<html>
<body>
<img src="myprettypicture.jpg" alt="myprettypicture.jpg" height="50" width="50">
<img src="mynotsoprettypicture.jpg" alt="mynotsoprettypicture.jpg" height="50" width="50">
</body>
</html>

Теперь лучше хранить замены для тегов alt ваших изображений в images.ini файл так.

myprettypicture.jpg = "Here's a pretty picture"
mynotsoprettypicture.jpg = "Here's a not so pretty picture"

Теперь вы можете запустить этот скрипт PHP:

<?php
$ini_array = parse_ini_file("images.ini"); // load "images.ini" into array
foreach($ini_array as $key => $val)
{
  $img[] = 'alt="' . $key . '"';
  $alt[] = 'alt="' . $val . '"';
}
$source = file_get_contents('source_file.htm'); // get Your "source_file.htm"
$target = str_replace($img, $alt, $source);     // make all required replacements
file_put_contents('target_file.htm', $target);  // save the result to "target_file.htm"
?>

чтобы получить target_file.htm

<!DOCTYPE html>
<html>
<body>
<img src="myprettypicture.jpg" alt="Here's a pretty picture" height="50" width="50">
<img src="mynotsoprettypicture.jpg" alt="Here's a not so pretty picture" height="50" width="50">
</body>
</html>

Ссылка: http://php.net/str_replace, http://php.net/parse_ini_file, http://php.net/file_get_contents, http://php.net/file_put_contents

Другие вопросы по тегам