2017-01-31 13 views
0
if(mb_eregi("\b{$value}\b",$tmp)) 
{ 
    $has_fw++; 
    $tmp = mb_eregi_replace("\b({$value})\b","***",$tmp); 
} 

ウェブ上でこのエラーに関する何かを見つけることができません。このエラーの原因は何ですか?エラーが発生しましたmb_eregi():mbregexコンパイルエラー:繰り返し演算子のターゲットが無効です

+1

PHPバージョン??その他の有用な情報は? – RiggsFolly

+0

コードインデントをクリーンアップし、ノイズを除去し、適切なタグを追加します。 – Shawn

答えて

0

試してみてください。正規表現の内側の{}を使用して

$match = sprintf('\b%s\b', $value); 
$capture_match = sprintf('\b(%s)\b', $value); 
if (mb_eregi($match, $tmp)) 
{ 
    $has_fw++; 
    $tmp = mb_eregi_replace($capture_match, '***', $tmp); 
} 

は、機能はあなたが正規表現として{}を使用することを意図していないように見えるとき、繰り返し値を見つけるためにしようとしていると思わせます代わりに$ valueを評価することを意図していましたが、正規表現の内部ではそうではありません。

関連する問題