phpとregexを使用して、データの文字列を分割して次の要件を満たす必要があります。ホワイトスペースのphp regexの空白で引用符を無視する
- スプリットそれは
- は、引用符内の空白を無視します。たとえば、
:
$文字列= 'TID:1212121'; - "tid:1212121"の配列を返してください。
$ string = 'tid:1211トピック:ted title: "このタイトル"; 3つのtid:1211、トピック:tedとタイトル: "このタイトル"で配列を返す必要があります。
私の個人的な正規表現の能力は恐ろしいものです。また、引用符がエスケープされないように入力を制御することはできません。 $ string = 'tid:1211 topic:ted title: "このタイトル" lid:332 fid: "別のビットのテキスト";
ありがとうございました!
preg_match_all('/([^ ]*("[^"]*")[\s])|([^ ]+[\s])/', $string, $matches);
はあなたがでアクションで見ることができます:すべての非空白文字が先行する引用されている場合
preg_match_all = 'TIDを選択します:1212121 '; '。あなたはPHPファイルを解析しようとしていますか? – chris85
遅く返事を申し訳ありません。 phpファイルではなく、ただ入力します。両方を解析できる必要があります。時には入力にスペースがあり、時には入力がちょうど値になっていることもあります。 – ASmithJackson