2016-08-25 8 views
1

私はプロジェクトに取り組んでおり、それをどうやってやるのか分かりません。私はRegexでやってみようとしていますが、かなり新しいです。正規表現を使用して文字列からKeyValuePairを配列に取得

私は私を除いて、だから、そのほとんどが

Array 
(
    [0] => MyColumn='1's'' 
) 

を以下している私は私の配列でPHP

$found = array(); 
preg_match("/\s=\s'.*'|\s.*='.*'\s/", $whereQuery, $found); 

で、次の正規表現を持っているようにWHERE MyColumn='1's'' AND MyColumn='Test's''"

として文字列を持っています以下を期待している:

Array 
(
    [0] => MyColumn='1's'' 
    [1] => MyColumn='Test's' 
) 

ご協力いただきありがとうございます。

+0

'preg_match'のみ最初のマッチを返します。複数のマッチが必要な場合は、 'preg_match_all'を使います。 –

+0

SQLパーサを使用します。正規表現でSQL言語を解析しようとすると、時間が無駄です。 –

答えて

1

あなたはこの単純化された正規表現でpreg_match_allを使用する必要があります。

preg_match_all('/\w+\h*=\h*\S+/', $whereQuery, $found); 

RegEx Demo

+1

これはずっと簡単です。よく働く – Boardy

関連する問題