ユーザ用ツール

サイト用ツール

Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/7/7510c99b0f6388748e4bd95ddcc99b29.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/7/7510c99b0f6388748e4bd95ddcc99b29.metadata failed

日本語文字で正規表現
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/7/7510c99b0f6388748e4bd95ddcc99b29.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/7/7510c99b0f6388748e4bd95ddcc99b29.xhtml failed

preg_match関数やpreg_replace関数、

ereg関数などの正規表現のパターン文字列は、

Shift_JIS文字列を使うとエラーが出ることがあります。

あくまで正規表現のパターン文字列に日本語文字を使ってはいけないのではなくて、

日本語文字を使うときには注意しないといけないということです。

if(preg_match("/ゼータ/", $str)){
  echo "OK";
}else{
  echo "NG";
}
Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 10

回避方法

これを回避するには、preg_quoteを使います。

if(preg_match("/".preg_quote("ゼータ","/")."/", $str)){
  echo "OK";
}else{
  echo "NG";
}
日本語文字で正規表現.txt · 最終更新: 2013/11/28 11:24 by luis_lee