###前提・実現したいこと
初めて質問させていただきます。
php5.3からphp5.6にバージョンをアップをおこなうと、
下記の記述の場合にエラーが起こってしまいましたので
エラーを回避したいです。
ハイフン(-)がエラーの原因のようです。
###発生している問題・エラーメッセージ
preg_match(): Compilation failed: invalid range in character class at offset 10
###該当のソースコード
php
1if( ! preg_match("/^([-0-9_-\s])+$/i", "TEST")){ 2 return FALSE; 3}else{ 4 5 return TRUE; 6}
###試したこと
preg_matchの箇所を
A.
preg_match("/^([-0-9_-\s])+$/i", "TEST")
↓
preg_match("/^([-0-9_\s])+$/i", "TEST")←ハイフン(-)を削除
B.
preg_match("/^([-0-9_-\s])+$/i", "TEST")
↓
preg_match("/^([-0-9_-\s])+$/i", "TEST")←ハイフン(-)の前に\ (バックスラッシュ)
上記のAかBでエラーは回避されたのですが、
なぜエラーが回避されるのか、また前者と後者では同じ結果になるのかがわからなく、投稿させていただきました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/31 08:00