从字符串到另一个字符串获取特定部分

时间:2014-09-26 18:23:57

标签: php string expression

我有一个字符串变量,如下面的

$str= '[[["how ","no use","",""],["to ","no use","",""],["solve this","no use","",""]]]';

我希望这个字符串的某些部分能够制作另一个像

一样的部分
$result="how to solve this";

是否可以从$ str创建$ result?

我是php的新手,有人帮我解决这个或任何想法来解决这个问题。

2 个答案:

答案 0 :(得分:2)

因为字符串是json,所以可以使用json_decode将该字符串转换为数组。由于整个事物都包裹在[]中,reset用于剪掉外部数组。

$string= '[[["how ","no use","",""],["to ","no use","",""],["solve this","no use","",""]]]';

$result = '';
foreach(reset(json_decode($string)) as $piece)
{
    $result .= reset($piece);
}

echo $result;

答案 1 :(得分:0)

鉴于字符串的结构,您可以使用preg_grep查找匹配["的任何子字符串,直到下一个"

$regex = '/\\["([^"])"/';
$matches = preg_grep($regex,$str);
$result = implode('',$matches);

注意......我的正则表达式可能生锈; - )