escaping — строка php preg_replace, которая заканчивается и заканчивается символом косой черты

имя_директории ($ _ SERVER [ ‘PHP_SELF’])

возвращает в моем случае: / blabla / test

Я пытаюсь preg_replace, чтобы удалить / Blabla /.

Я сделаю это :

$dossier = preg_replace('/^\/[0-9a_z]\/$/','',dirname($_SERVER['PHP_SELF']));

я надеялся сделать следующее: «найти все, что начинается с / и заканчивается на / и имеет 0-9a-z между ними. Но это не то, как это сделать.

Спасибо

0

Решение

Помещение этого знака доллара означает отбрасывание регулярного выражения. Я считаю, что это то, что вы ищете. Дайте мне знать, если это не сработает.

$dossier = preg_replace('/^\/[0-9a-z]*\//', '', dirname($_SERVER('PHP_SELF']));
1

Другие решения

Три вопроса:

  • Вам нужен дефис между a-z, не подчеркивание
  • Необходимо добавить более одного такого символа, добавив +
  • Вы не хотите сопоставлять всю строку (будет удалена), поэтому не требуется сопоставлять ее до конца: удалите $

Так что это будет делать:

/^\/[0-9a-z]+\//'
0