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 回答