PHPに限らず、正規表現のデリミタ(区切り文字)はスラッシュ/
を使っていましたが、
http://hoge/fugaなど、パターンにスラッシュ/
が含まれる場合は、
http:\/\/hoge\/fuga
といったようにバックスラッシュ\
でエスケープする必要があります。
この場合は、シャープ#
やチルダ~
をデリミタに使ったほうが便利です。
if(preg_match('#^' . $pattern . '$#', $path_info, $matches)){ var hoge = "fuga"; }
それにしてもGoogleで#
やら~
やらの記号を検索するのって大変ですね…。