Php 提取两个字符之间的文本

Php 提取两个字符之间的文本,php,regex,Php,Regex,如何最好地修剪大括号外的以下文本: $myString = "10:0{ 'name':'John', 'age':30, 'car':null }24:0"; preg_match('/{[^}]+}/', $myString, $match); echo $match[0]; preg_replace('/.*?(\{.*?\}).*/', '$1', $myString); 大括号10:0和24:0外的文本可能会有所不同。只需抓住大括号内的内容: $myString = "10:0{

如何最好地修剪大括号外的以下文本:

$myString = "10:0{ 'name':'John', 'age':30, 'car':null }24:0";
preg_match('/{[^}]+}/', $myString, $match);
echo $match[0];
preg_replace('/.*?(\{.*?\}).*/', '$1', $myString);

大括号10:0和24:0外的文本可能会有所不同。

只需抓住大括号内的内容:

$myString = "10:0{ 'name':'John', 'age':30, 'car':null }24:0";
preg_match('/{[^}]+}/', $myString, $match);
echo $match[0];
preg_replace('/.*?(\{.*?\}).*/', '$1', $myString);
您可以使用以下方法修剪数字和冒号:

trim($myString, '0123456789:');
。。。或者,您可以更换支架外的所有部件:

$myString = "10:0{ 'name':'John', 'age':30, 'car':null }24:0";
preg_match('/{[^}]+}/', $myString, $match);
echo $match[0];
preg_replace('/.*?(\{.*?\}).*/', '$1', $myString);

这不是一个有效的字符串。它实际上是如何引用的?我不太确定,但它看起来像一个序列化的字符串。@Spingolini:JSON,至少在你做了OP想做的事情之后。对不起,你是对的。开头的数字让我分心了一秒钟。可能是Thx user3783243的重复:-