Изображения 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