|
| |
|
|
| |
для: elenaki
(03.01.2006 в 12:06)
| | | Есть такое дело... Можно воспользоваться таким скриптом
<?php
$HTMLString = '<img alt="" src="/somewhere/something.jpg">';
$pattern = '#"[^"]+(\.jpg|\.gif|\.png)"#i';
$text = preg_replace_callback(
$pattern,
"replace_text",
$HTMLString);
function replace_text($matches)
{
// $matches[0] - это адрес
echo $matches[0];
return '"Новый_путь"';
}
?>
|
В этом случае $matches[0] будет содержать "/somewhere/something.jpg", который можно преобразовать и вернуть вместо '"Новый_путь"', или это тоже не то? | |
| |
|
|
| |
|
|
| |
для: cheops
(03.01.2006 в 03:12)
| | | это выражение выводит по буквам. каждое $matches[$i] - это буква. но я же не знаю, сколько
у меня букв в имени файла! мне нужно отрезать с конца строки и до первого слэша. почему
никто не ищет с конца, ведь это же проще? | |
| |
|
|
| |
|
|
| |
для: elenaki
(02.01.2006 в 23:29)
| | | Ой, извиняюсь, попробуйте
<?php
$pattern = '#"[^"]+(\.jpg|\.gif|\.png)"#i';
?>
|
PS Символы ограничители могут быть любыми и я для красоты часто использую |, где этот символ не используется в самом выражении - вот за это и поплатился :))) | |
| |
|
|
| |
|
|
| |
для: cheops
(02.01.2006 в 13:18)
| | | этот код не работает. выдает ошибку. почему вдруг слэши прямы стали? '|"[^"]+(\.jpg|\.gif|\.png)"|i' | |
| |
|
|
| |
|
|
| |
для: elenaki
(02.01.2006 в 09:56)
| | | А пути все заключены в двойные скобки? Тогда можно прибегнуть к функции обратного вызова
<?php
$pattern = '|"[^"]+(\.jpg|\.gif|\.png)"|i';
$text = preg_replace_callback(
$pattern,
"replace_text",
$HTMLString);
function replace_text($matches)
{
// $matches[1] - это адрес
return '"Новый_путь"';
}
?>
|
http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=10885 | |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(01.01.2006 в 22:01)
| | | у меня не просто переменная, в которой путь. у меня текст, в середине которого могут
встретиться ссылки на картинки (картинки уже загружены ранее другим скриптом), поэтому
надо сначала эти ссылки отыскать, потом изменить, потом запомнить весь текст в базе...
очень не хочется переходить на SPAW. он такой огромный, там ничего не найти. а этот
редактор, который я сейчас использую, лежит всего в одном файле, который я подключаю
инклудом. я там уже все поменяла, как мне нужно, и на греческий перевела. теперь по
новой начинать мучиться со SPAW' ом?
читала на woweb отзывы об этом редакторе. не только у меня такая проблема с картинками.
но решения там никто не предлагает... | |
| |
|
|
| |
|
|
| |
для: elenaki
(01.01.2006 в 19:40)
| | | Ну а чем вам тогда код cheops'a не нравится? | |
| |
|
|
| |
|
|
| |
для: cheops
(01.01.2006 в 17:21)
| | | неважно, какими средствами, главное - поменять. | |
| |
|
|
| |
|
|
| |
для: elenaki
(01.01.2006 в 14:38)
| | | Не очень понятно, это необходимо осуществить средствами JavaScript или PHP? | |
| |
|
|
| |
|
|
| |
для: cheops
(01.01.2006 в 13:26)
| | | это нужно для замены путей к картинкам при создании статей HTML-редакторе.
картинка вставляется вот таким кодом:
<input type="submit" value="OK" onclick="window.opener.EditField.execCommand('insertimage',false,document.forms['imgform'].img_file.value);">
понимаете, что в поле img_file стоит тот путь, который картинка имеет на компьютере автора статьи (который я конечно не знаю заранее). мне нужно этот путь заменить на реальный путь к картинке на сервере. | |
| |
|
|
|