замена слэша регулярным выражением

Статус
В этой теме нельзя размещать новые ответы.

Alexandre

PHPПенсионер
а если хотим с слешем, то как я и говорил "используется просмотр назад"
PHP:
$var = preg_match('/(?=\/)\/\w+\.\w+$/',$var, $match);
верно, облом, хотя при необходимости меня не затруднит
используется "просмотр вперед"
 

Alkinoy

Начинающий
$var = preg_replace('/dir\//','',$var); так?

но опять же, если постоянно /dir/ надо убирать - почему не str_replace???
 

Alexandre

PHPПенсионер
cDLEON получи
PHP:
$var = "dir2/dir/file.ext"; 
$var = preg_match('/\w+(?=\.\w+$)/',$var, $match);
print "\n";
print $match[0];
результат file

чтоб не думал, что старожилы здесь штаны протирают
 

Bitterman

Новичок
разве так не проще?
Код:
$var = preg_replace("/^.*?([^\/]*)$/", "$1", $var)
Безотносительно того, что нужную функцию уже подсказали
 

Wicked

Новичок
что-ж... поддамся на провокацию :)

Alexandre
1) Ты cDLEON'а не так понял. Он имел в виду:
PHP:
$var = "dir/file"; // no extension
$var = preg_match('/\w+\.\w+$/',$var, $match);
print "\n";
print $match[0]; // empty string
2) зачем $var = preg_match ?

3) не проще ли:
$var = preg_replace("/.*\//", "", $var) ?
 

Alexandre

PHPПенсионер
1) Ты cDLEON'а не так понял. Он имел в виду:
PHP:
$var = "dir2/dir/file.ext";
//$var = preg_match('/\w+(?=\.\w+$)/',$var, $match);
$var = preg_replace("/.*\//", "", $var);

print $var[0];
f // первая буква от файла

Wicked и на старуху бывает проруха :)

fStrange нужную функцию подсказали 10 постами выше ;)
 

Wicked

Новичок
Alexandre
это ты о чем сейчас? утверждаешь, что мой код не работает?
 

Wicked

Новичок
Alexandre
а пост то свой чего поправил? :) причем каким-то странным образом, что сразу напрашивается вопрос: причем тут вообще [0] и буква f ?
 

Alexandre

PHPПенсионер
а пост то свой чего поправил? причем каким-то странным образом, что сразу напрашивается вопрос: причем тут вообще [0] и буква f ?
в посту своем я код не попроавлял, только одну фразу, касающуюся ... (не тебя)
там я тоже накосячил (см. ниже как)

если его запистишь, то вывод и будет
f // первая буква от файла
а ошибка здесь: print $var[0];

поспешишь - людей насмешишь ;)
 

Wicked

Новичок
nirex
вот точно! щас все вместо basename бросятся использовать explode...
 

romy4

invoke [brain]
Надо выражение "dir/file.ext" заменить на "file.ext"
чем тебе
PHP:
basename($str)
не подходит?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
наверное пора топик закрыть.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху