0

そのような文字列をパースする必要があります: "{data type="subject"}PHP で正規表現を使用します。私はこれを持っています:

$template = '/{([\w]+)\s([\w]+)="([\w]+)"}/';

しかし、何も起こりません。

誰でもそれで私を助けることができますか?

4

2 に答える 2

3

すべてがうまく見えます。
あなたのパターン:

<?php

$s = '{data type="subject"}';
$template = '/{([\w]+)\s([\w]+)="([\w]+)"}/';

preg_match($template, $s, $matches);
var_dump($matches);

結果は次のとおりです。

array(4) {
  [0] =>
  string(21) "{data type="subject"}"
  [1] =>
  string(4) "data"
  [2] =>
  string(4) "type"
  [3] =>
  string(7) "subject"
}

完全な例を示してください。

于 2013-04-15T08:31:21.727 に答える
1

中括弧はエスケープする必要があります。このようなことを試してください:

'/\{(\w+)\s(\w+)="(\w+)"\}/'

編集:少し間違いを変更しました。私はそれを試しました、それはうまくいきます。

于 2013-04-15T08:27:39.767 に答える