- ベストアンサー
DIRECTORY_SEPARATORについて
PHP5.2.4、OSはwindowsXP、xamppの環境で試しています。 次のようにパスの区切りをDIRECTORY_SEPARATORで指定して、要素を分割して取得したいのですが、 これだと分割できません。 $str = 'C:\dir\file.php'; $tips = split('/'.DIRECTORY_SEPARATOR.'/', $str); //$tips = split('\\', $str); print_r($tips);//Array ( [0] => C:\dir\file.php ) '\\'だと 「Warning: split() [function.split]: REG_EESCAPE」 というエラーがでます。 どのように記述すれば良いのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Windows環境で確認してませんが、正規表現でなく文字列で分解することにするか、 $tips = explode(DIRECTORY_SEPARATOR, $str); 正規表現での分割にこだわるなら、\ は正規表現の特殊文字なのでクォートして、 $tips = preg_split("/".preg_quote(DIRECTORY_SEPARATOR)."/", $str); preg_splitでなく非推奨関数のsplitを使いたければ、 $tips = split(preg_quote(DIRECTORY_SEPARATOR), $str); $tips = split('\\\\', $str);
お礼
ご回答ありがとうございます。 なるほど、たしかに文字列で分解できるわけなので 最初のやり方の方が良さそうですね。 参考になりました。ありがとうございます。