正規表現のデリミタ
正規表現を使う時いまだに
サルにもわかる正規表現入門にお世話になってる僕ですが、
今回こんなエラーが出てきました。
Delimiter must not be alphanumeric or backslash in 〜
翻訳に通すと
デリミタ(先頭と末尾の区切り文字)は英数字やバックスラッシュじゃだめだよヽ(`Д´)ノ
ってことらしく、
いつもスラッシュでいいのに何でだろうって思ったら。
今回は置き換え文字にスラッシュを指定してたからだとわかった。
んで更にみると、デリミタはスラッシュじゃなくても()とか{}とかでもいいらしい
ということで
$in_column_path = preg_replace("(\/usr\/home\/.+\/html\/column\/)", "", $array['blog_site_path']);
こんな風に括弧で囲んだ。
もっと言うならば
引用:正規表現とデリミタとエスケープ - 徒書