2011-08-09 11 views
2

実際にutf-8を適切にサポートするために、コンポーネントの機能を再実装しようとしました。グローバル(反復)マッチを実行することは可能ですか?(デフォルトではpreg_matchではg修飾子ですか?)mb_ereg_matchでグローバル/反復検索を実行する

$pattern = 'du\@de\.com'; 
$whitespacedDude = ' du \@ de\. com '; 
$globalDude = 'a global [email protected]'; 
$dude  = '[email protected]'; 

var_dump(preg_match("/$pattern/", $globalDude, $matches)); 
var_dump(preg_match("/$whitespacedDude/x", $dude, $matches)); 

var_dump(mb_ereg_match("$pattern", $globalDude)); 
var_dump(mb_ereg_match("$whitespacedDude", $dude, 'x')); 

与える:

true 
true 
false // this one should be true 
true 

実際にグローバル照合をシミュレートするmb_ereg_search経由での回避策をやってイム。別の/より良い方法がありますか?

ありがとうございます。

答えて

1

mb_ereg_match最初から一致するかどうかをテストします。あなたのパターンを変更し、任意の文字を前もって許可する必要があります:

var_dump(mb_ereg_match(".*$pattern", $globalDude)); 
+0

アーク...;)ありがとう! – RCKY

関連する問題