[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace
Страницы: 1, 2, 3, 4
AIIPEJIb
Всем доброго времени суток!
Люди добрые очень нужна помощь и как можно скорее.

помогите написать регулярное выражение и
сделать замену с помощью preg_replace

нужно все ссылки:
src="/....../kcfinder/.....
заменить на
src="kcfinder/......

Очень жду ответа!
Winston
А так покатит?
echo ltrim('/....../kcfinder/', './');
AIIPEJIb
многоточие это часть пути которую нужно удалить, там могут быть названия каталогов. Так что нет не покатит (
Winston
Цитата (AIIPEJIb @ 15.01.2013 - 19:08)
многоточние это часть пути которую нужно удалить

Сразу нужно было это писать
echo preg_replace('/.*(kcfinder.*)/', '$1', '/....../kcfinder/path/path2/..../');
OleKh
не придираюсь, но если будет вот так, регулярное выражение выдаст другой результат
<a href="http://"><img src="/....../kcfinde - r/....."/></a>
AIIPEJIb
Цитата (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
пояснение: идет текст в нем вставлены теги <img>, мне нужно подправить src в них.
Возможно нужно что то еще изменить, но я дятел в регулярных выражениях.
OleKh
Покажите php код в котором применяете preg_replace ()
AIIPEJIb
$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);
OleKh
и ещё дамп покажите
$Text_str= str_replace("\"/kcfinder", "\"kcfinder", $Text_str);
var_dump ($Text_str);
AIIPEJIb
пример как отработалось


<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="" - удалились.
OleKh
чтобы подогнать регулярное выражение нужно увидеть строку в которой будет поиск и замена, поэтому покажите что выводится


$Text_str= str_replace("\"/kcfinder", "\"kcfinder", $Text_str);
var_dump ($Text_str);
AIIPEJIb
я же уже показал:

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=\" как то учитывать в выражении
OleKh
Может и не красиво, но у меня срабатывает. Проверяйте.

$pattern = '/"(.*)(?:kc)/';
$string = preg_replace($pattern, '$2"kc', $string);
AIIPEJIb
Цитата (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>



Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.