PHP разделить на preg_split () - PullRequest
       19

PHP разделить на preg_split ()

9 голосов
/ 19 января 2011

Я хотел преобразовать следующую функцию разделения, которую я использовал, в preg_split ... это немного сбивает с толку, потому что значение будет время от времени меняться ...

Текущий код:

$root_dir = 'www';
$current_dir = 'D:/Projects/job.com/www/www/path/source';
$array = split('www', 'D:/Projects/job.com/www/www/path/source', 2);
print_r($array);

Вывод функции разделения:

Array ( [0] => D:/Projects/job.com/ [1] => /www/path/source )

1 Ответ

20 голосов
/ 19 января 2011

preg_split () похожа на старую функцию ereg split ().Вам нужно только заключить регулярное выражение в /.../, например, так:

preg_split('/www/', 'D:/Projects/job.com/www/www/path/source', 2);

Включающие косые черты / здесь действительно являются частью синтаксиса регулярного выражения, а не ищутся в строке.Если разделитель www является переменной, вы должны дополнительно использовать preg_quote () для внутренней части.

Но учтите, что вам не нужны регулярные выражения, если вы все равно ищете статические строки.В таких случаях вы можете использовать explode() почти так же, как вы использовали split () раньше:

explode('www', 'D:/Projects/job.com/www/www/path/source', 2);
...