前提・実現したいこと
タイトルの通りで、URL形式の文字列内に指定した文字列を含んでいるかのチェックをしたいのですが、中々うまくいかないので質問させていただきました。
発生している問題・エラーメッセージ
下記のような文字列に対し、preg_matchを使用して含んでいるかどうかの判定をしています。
$str = "https://example.com/example.jpg&w=200&h=283"; $str2 = "https://example.com/example.jpg"; $pt = "{(?!.*&w=200&h=283)}"; if (preg_match($pt, $str) === 0) { echo "1"; }else { echo "2"; } if (preg_match($pt, $str2) === 0) { echo "1"; }else { echo "2"; }
上記のコードを実行すると、どちらのifも2を返してしまいます。
1つ目のifは1を返してほしいのですが、これはどこが間違っているのでしょうか?
よろしくおねがいします。
試したこと
デリミタの文字を#や^に変更。
