AIIPEJIb
15.01.2013 - 20:41
Всем доброго времени суток!
Люди добрые очень нужна помощь и как можно скорее.
помогите написать регулярное выражение и
сделать замену с помощью preg_replace
нужно все ссылки:
src="/....../kcfinder/.....
заменить на
src="kcfinder/......
Очень жду ответа!
Winston
15.01.2013 - 20:43
А так покатит?
echo ltrim('/....../kcfinder/', './');
AIIPEJIb
15.01.2013 - 21:08
многоточие это часть пути которую нужно удалить, там могут быть названия каталогов. Так что нет не покатит (
Winston
15.01.2013 - 21:12
Цитата (AIIPEJIb @ 15.01.2013 - 19:08) |
многоточние это часть пути которую нужно удалить
|
Сразу нужно было это писать
echo preg_replace('/.*(kcfinder.*)/', '$1', '/....../kcfinder/path/path2/..../');
не придираюсь, но если будет вот так, регулярное выражение выдаст другой результат
<a href="http://"><img src="/....../kcfinde - r/....."/></a>
AIIPEJIb
15.01.2013 - 21:30
Цитата (Winston @ 15.01.2013 - 21:12) |
echo preg_replace('/.*(kcfinder.*)/', '', '/....../kcfinder/path/path2/..../'); |
например в тексте ссылка:
<p>
....
<img alt="" src="/mmm/kcfinder/upload/images/1.10.jpg" style="width: 256px; height: 149px;" />
....
</p>
нужно получить:
<p>
...
<img alt="" src="kcfinder/upload/images/1.10.jpg" style="width: 256px; height: 149px;" />
....
</p>
такое выражение вернуло
kcfinder/upload/images/1.10.jpg" style="width: 256px; height: 149px;"/>
AIIPEJIb
15.01.2013 - 21:31
пояснение: идет текст в нем вставлены теги <img>, мне нужно подправить src в них.
Возможно нужно что то еще изменить, но я дятел в регулярных выражениях.
Покажите php код в котором применяете preg_replace ()
AIIPEJIb
15.01.2013 - 22:10
$Text_str=$_POST['TT'];
$dname = $_SERVER['HTTP_HOST'];
$dname = str_replace("www.", "", $dname);
$Text_str = str_replace("http://".$dname."/kcfinder", "/kcfinder", $Text_str);
$Text_str = str_replace("http://www.".$dname."/kcfinder", "/kcfinder", $Text_str);
$Text_str = str_replace("http://www.".$dname."/", "/", $Text_str);
$Text_str = str_replace("http://".$dname."/", "/", $Text_str);
$Text_str= str_replace("\"/kcfinder", "\"kcfinder", $Text_str);
$Text = preg_replace('/.*(kcfinder.*)/', '$1', $Text_str);
и ещё дамп покажите
$Text_str= str_replace("\"/kcfinder", "\"kcfinder", $Text_str);
var_dump ($Text_str);
AIIPEJIb
15.01.2013 - 22:19
пример как отработалось
<p>
<img alt="" src="/mmm/kcfinder/upload/images/1.34.jpg" style="width: 239px; height: 115px;" /></p>
<p>
текст текст </p>
<div>
<img alt="" src="/mmm/kcfinder/upload/images/1.11 1.12 1.13.jpg" style="width: 555px; height: 148px;" /></div>
<div>
<p>
текст текст</p>
<div>
<p>
</p>
</div>
</div>
на выходе получилось:
<p>
kcfinder/upload/images/1.34.jpg" style="width: 239px; height: 115px;" /></p>
<p>
текст текст </p>
<div>
kcfinder/upload/images/1.11 1.12 1.13.jpg" style="width: 555px; height: 148px;" /></div>
<div>
<p>
текст текст</p>
<div>
<p>
</p>
</div>
</div>
"<img alt="" src="" - удалились.
чтобы подогнать регулярное выражение нужно увидеть строку в которой будет поиск и замена, поэтому покажите что выводится
$Text_str= str_replace("\"/kcfinder", "\"kcfinder", $Text_str);
var_dump ($Text_str);
AIIPEJIb
15.01.2013 - 22:26
я же уже показал:
string(354) "<p>
<img alt=\"\" src=\"/mmm/kcfinder/upload/images/1.34.jpg\" style=\"width: 239px; height: 115px;\" /></p>
<p>
текст текст </p>
<div>
<img alt=\"\" src=\"/mmm/kcfinder/upload/images/1.11 1.12 1.13.jpg\" style=\"width: 555px; height: 148px;\" /></div>
<div>
<p>
текст текст</p>
<div>
<p>
</p>
</div>
</div>"
это соответствует $Text_str которая передается в preg_replace
я так понимаю нужно src=\" как то учитывать в выражении
Может и не красиво, но у меня срабатывает. Проверяйте.
$pattern = '/"(.*)(?:kc)/';
$string = preg_replace($pattern, '$2"kc', $string);
AIIPEJIb
15.01.2013 - 23:13
Цитата (OleKh @ 15.01.2013 - 23:05) |
Может и не красиво, но у меня срабатывает. Проверяйте.
$pattern = '/"(.*)(?:kc)/'; $string = preg_replace($pattern, '"kc', $string);
получилась ссылка в альтернативном тексте))) |
что то не так все равно:
было:
<p>
текст текст</p>
<div>
<img alt="" src="/mmm/kcfinder/upload/images/1.10.jpg" style="width: 256px; height: 149px;" /></div>
<p>
текст текст</p>
стало:
<p>
текст текст</p>
<div>
<img alt="kcfinder/upload/images/1.10.jpg" style="width: 256px; height: 149px;" /></div>
<p>
текст текст</p>
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.