ファイルパスの文字列をpreg_match
した時の話。
状況
$dirName
をpreg_match
ってみるとWarningが発生。if ( preg_match("/{$dirName}\.bak(.*)$/", $dn, $suf) ) {
// foo, bar
}
ファイルパスの文字列をpreg_match
した時の話。
$dirName
をpreg_match
ってみるとWarningが発生。if ( preg_match("/{$dirName}\.bak(.*)$/", $dn, $suf) ) {
// foo, bar
}
/
は、\/
とエスケープする必要がある。
(事前にエスケープできる場合はしておく方がよいと思う) preg_quote
のデリミタに/
を指定しておく。$dirName = preg_quote($dirName, "/");
これでエスケープされるのでpreg_match
が通るようになる。