Как добавить атрибуты к тегу img?

12
[Удален]
4180

В общем ситуация такая: при сохранении статьи в скрипт-обработчик передаётся некий текст. Мне нужно найти в этом тексте все картинки, вида <img src='album/nnn.jpg'> и добавить к ним атрибуты alt и title.

Помогите пожалуйста разобраться....

T.R.O.N
На сайте с 18.05.2004
Offline
314
#1

берешь и заменяешь <img на <img title='....' alt='....'

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
[Удален]
#2

речь идёт о регулярных выражениях. объясню подробнее:

в обработчик передаётся переменная с текстом $text, нужно распарсить этот текст на предмет картинок и добавить к тегам <img src='...'> атрибуты alt и title. так точнее

fima32
На сайте с 12.01.2006
Offline
132
#3
MrBernz:
нужно распарсить этот текст на предмет картинок и добавить к тегам <img src='...'> атрибуты alt и title. так точнее

А что будет прописываться в alt и title?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#4

MrBernz,

на перле

$text =~ s/\<img/\<img alt="*******" title="***"/gi;

[Удален]
#5
fima32:
А что будет прописываться в alt и title?

в альт и тайтл заносятся данные, вытащенные из базы, то есть как-то так:

$query = mysql_query ("select * from album");

while($author = mysql_fetch_array($ath))
{
$alt = $author['descr'];
}

То есть в данном случае в альт и тайтл нужно занести значения переменной $alt..

А вообще изначально задачка такая:

1. сделать запрос в базу на определение урлов всех имеющихся там картинок

2. перед записью в базу текста нужно текст распарсить на предмет тегов img

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

4. добавить атрибуты alt и title и прописать в них значение переменной $alt

5. записать текст в базу

Изначально картинки в тексте идут как <img src='...'>, потому как вставляются в текст при помощи визивика...

Если честно сам уже запутался во всём, потому и прошу помощи...

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6

MrBernz, тогда о простых регулярках забудьте...

[Удален]
#7
T.R.O.N:
MrBernz, тогда о простых регулярках забудьте...

Спасибо T.R.O.N, а о чём тогда можно вспомнить? всмысле что сделать?

T
На сайте с 24.07.2008
Offline
145
#8

хм, можно попробовать вот так:

<?php

$text = 'ваш текст с картинками';

$result = mysql_query('SELECT pic_name, descr FROM album');

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

{

$text = str_replace('<img src="album/'.$row['pic_name'], '<img title="'.$row['descr'].'" alt="'.$row['descr'].'" src"album/'.$row['pic_name']);

}

?>

T.R.O.N
На сайте с 18.05.2004
Offline
314
#9

MrBernz,

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

[Удален]
#10

T.R.O.N

В бд есть таблица album с полями id, pict и description

pict - урл местонахождения картинки

description - описание

Алгоритм такой:

Есть отдельная страница на которой добавляются картинки - фотогалерея, на это странице выбирается картинка с локального компьютера, заносится описание и картинка полетела в папку album на сервере, а в базу заносится урл и описание добавленной картинки..

дальше... на странице написания статей пользователь видит поле для ввода текста (используется визивик jWYSIWYG) и поле с картинками с возможностью вставки.. Соответственно при вставке картинки в исходник статьи прописывается код <IMG src="/album/8_20-b.jpg">

вот...

вся вата именно из-за альтов и тайтла, визивик не позволяет добавлять эти атрибуты, так бы всё проще было...

..поэтому пошли путями окольными..

Так вот при добавлении статьи нужно сравнить урлы картинок из статьи и урлы картинок из базы, сопоставив их и найдя одинаковые урлы - добавить к картинкам в тексте альты и тайтлы, которые должны браться из поля description таблица album...

как-то так в общем.. извиняюсь если мутно объясняю...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий