【发布时间】:2013-12-30 11:29:03
【问题描述】:
我有这种形式的内容
$content ="<p>This is a sample text where {123456} and {7894560} ['These are samples']{145789}</p>";
我需要数组中大括号之间的所有值,如下所示:
array("0"=>"123456","1"=>"7894560","2"=>"145789")
我尝试使用此代码:
<?php
preg_match_all("/\{.*}\/s", $content, $matches);
?>
但是我在这里输入了从第一个花括号到内容中最后一个值的值。可以做些什么来获得上述格式的数组?我知道我使用的模式是错误的。应该给出什么来获得如上所示的期望输出?
【问题讨论】:
-
Similar question。唯一的区别可能是您有 1 个大括号而不是 2 个,但原理保持不变。主要问题是
.*是贪婪的。几乎所有关于这个问题的答案都解决了这个问题。
标签: php regex preg-match