Официальный сайт студ.городка НГТУ
Программирование и БД » [need] Написать регулярку для распарсивания пути к файлу 

#1  04.12.05 19:52

[need] Написать регулярку для распарсивания пути к файлу

вобщем задача такая, есть локальный путь к файлу типа "c:\image\image_002.jpg". нужно вытащить его из текста файла. Причём чтобы в \0 попал весь путь, а в \1 только имя файла.

Вот моё решение, но оно что-то не пашет:
/(?:file\:)?\w\:\\.*([^\/]+?\.(?:jpg|jpeg|gif|png))/im

Использоваться будет в коде php примерно так

Код: php:

$field = preg_replace("/(?:file\:)?\w\:\\.*([^\/]+?\.(?:jpg|jpeg|gif|png))/iU",'./pix/\\1', $field);


Кто в регулярках шарит, I need help :)

Offline

#2  04.12.05 23:03

Re: [need] Написать регулярку для распарсивания пути к файлу

Код: php:

<?php
$str = 'c:\image\image_002.jpg';
var_dump(basename($str));
var_dump(dirname($str));
?>

2 swsoft:
а можно и вот так ;)

Offline

#3  04.12.05 23:47

Re: [need] Написать регулярку для распарсивания пути к файлу

2 swsoft: ясно :))
оффтоп: ты с какого подразделения?)

Offline

#4  05.12.05 01:28

Re: [need] Написать регулярку для распарсивания пути к файлу

ребят, спасибо, но малость не то. Надо подменить путь в файле с локального на относительный на сервере. Это для аплоада картинок надо.

Offline

#5  05.12.05 01:40

Re: [need] Написать регулярку для распарсивания пути к файлу

2 Splean: приведи пример замены

Offline

#6  05.12.05 02:13

Re: [need] Написать регулярку для распарсивания пути к файлу

всё спасибо сделал так

Код: php:

preg_match_all ("/(\"(?:file\:)?\w\:.*(jpg|jpeg|gif|png))/iU", $field, $out, PREG_PATTERN_ORDER);
$field = str_replace (dirname(substr($out[0][0],1)).'\\', './files/pix/', $field);

Offline

#7  05.12.05 02:15

Re: [need] Написать регулярку для распарсивания пути к файлу

2 Splean: ну дело ваше :)

Offline

Программирование и БД » [need] Написать регулярку для распарсивания пути к файлу 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.089 сек.
Выполнено 14 запросов.