|
|
|
| Есть большой текст, где много картинок. Нужно изменить для каждой картинки адрес:
Был: <img border="0" src="12_2.jpg" width="600" height="842">
Стал: <img border="0" src="/pics/issues/12_2.jpg" width="600" height="842">
|
Код
$articles_cat[] = 'path'; // выше генерируется массив, не стану приводить его код
$exp_dir[] = 'path'; // выше генерируется массив, не стану приводить его код
$txt = '... много текста
обусловлено плотным контактом CD31-позитивных клеток сердца с СКЖТ.<br>
*p<0,01.</p>
<p ALIGN="LEFT" DIR="LTR">
<img border="0" src="12_2.jpg" width="600" height="842"><br>
</span><span LANG="EN"><br>
<br>
<br>
</span><span LANG="RU">Рис. 5. Дифференцировка с-kit-позитивных клеток,
выделенных из мышечной части аневризмы сердца .... много текста';
$newtxt = preg_replace('!<img[^>]+src="(.+)"[^>]*>!Uis', '<img src="/pics/'.$articles_cat_s[1].'/'.$exp_dir[2].'/$1" />', $txt);
print $newtxt;
|
Почему-то не заменяет адреса... Что не так?
$newtxt = preg_replace('!<img src="(.+)">!Uis', '<img src="/pics/'.$articles_cat_s[1].'/'.$exp_dir[2].'/$1" />', $txt);
| тоже ничего не дает... | |
|
|
|
|
|
|
|
для: Fix
(12.12.2008 в 14:53)
| | вроде всё работает,
не считая
Notice: Undefined variable: articles_cat_s
и сделал
$articles_cat_s[1] = 'path1';
exp_dir[2] = 'path2';
$newtxt = preg_replace('!<img[^>]+?src="([^">]+)"[^>]*>!is', '<img src="/pics/'.$articles_cat_s[1].'/'.$exp_dir[2].'/$1" />', $txt);
print htmlspecialchars($newtxt); | |
|
|
|
|
|
|
|
для: xx77
(13.12.2008 в 00:40)
| | Работает, спасибо! Кое-что пришлось изменить, но в целом работает ) | |
|
|
|
|
|
|
|
для: Fix
(14.12.2008 в 15:57)
| | Я бы через str_replace сделал бы | |
|
|
|