2017-06-17 7 views
0

私は現在、以下の「タイプ」の内容を一致させるのに苦労しています:すべての "種類"を一致させ、正規表現を正しくエスケープするにはどうすればよいですか?

(Type): multiplechoice 
(Category): 0 
(Random answers): 0 
(Question): Which of the following is true about pre-test imagery? 

(Type): multiplechoice 
(Category): 0 
(Random answers): 1 
(Question): Which of the following is not true about the TMJ? 

私がしようとしています:エラーメッセージとして「\」

preg_match_all("(Type)\:(.+?)\n", $content, $types); 

をしかし、私は未知の修飾子を取得します。

どのようにすべてのタイプを正しく一致させることができますか?何かヒントありがとう!これが何をすべき

+1

可能な重複20705399/warning-preg-replace-unknown-modifier) – revo

+1

正規表現でPHPでデリミタを使用する必要があります。 http://php.net/manual/en/regexp.reference.delimiters.phpまた特殊正規表現文字 '()'をエスケープする必要があります。 – chris85

答えて

1

、後にスペースがあると仮定すると:](https://stackoverflow.com/questions/ [::プリプレグ\ _replace()未知の修飾子 '\警告]' の

preg_match_all('/\((.+?)\): (.*)?/i', $subject, $array, PREG_PATTERN_ORDER); 
+0

これは 'Type'sだけを見つけません。また、あなたがしたことを説明する必要があります( 'i'修飾子はアルファ文字がないので使用できません)。 – chris85

+1

iはキーワードと大文字小文字を区別しないため、バイナリ配列の型と内容を見つけます。 –

+0

'A'または' a'は 'i'にかかわらず' .'でマッチします。 – chris85

関連する問題