Мне нужно проверить текстовую запись пользователя для каталога на основе Windows, нет сортировщика каталогов, это просто текстовое поле.PHP Regex для Windows Directory - preg_match
Я написал следующее Regex с помощью http://regex101.com/, которая работает должным образом для моих потребностей:
^[a-zA-Z]\:[\/,\\].{1,}
который будет соответствовать, например, следующие каталоги в онлайн-инструмент:
C:/Users/Charlie/Dropbox
D:/Users/Bob/Quotes
F:/Quotes
Проблема заключается в том, при использовании в моем приложении preg_match
не соответствует ни одному из приведенных выше. Он не возвращает true, а preg_last_error()
возвращает 0
, который также указывает значение ложного возврата.
Точный код используется:
if(preg_match('/^[a-zA-Z]\:[\/,\\].{1,}/', $directory)) { }
Любая помощь очень ценится.
Что в $ каталоге? – Chris
@Chris Любой из приведенных выше каталогов, ни одна из них не работает. Выделили их на стороне сервера (непосредственно перед 'preg_match'), и они печатаются точно так, как ожидалось. – Charlie
попытайтесь определить выходной массив и напечатать его. Preg_match ("/^[a-zA-Z] \: [\ /, \\]. {1,} /", $ directory, $ output_array); – Chris