如何使用preg_replace从PHP中的字符串中删除数组下标?

如何使用preg_replace从PHP中的字符串中删除数组下标?,php,regex,preg-replace,Php,Regex,Preg Replace,我有一个来自textarea的数组,它是一个简单的数组数组: $l[0] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); $l[1] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); 等等。除了数字和逗号,我什么都做了,但我想去掉数组下标,只留下数据——我不是正则表达式专家,最好的方法是什么 谢谢:)preg\u match\u

我有一个来自textarea的数组,它是一个简单的数组数组:

$l[0] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$l[1] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
等等。除了数字和逗号,我什么都做了,但我想去掉数组下标,只留下数据——我不是正则表达式专家,最好的方法是什么

谢谢:)

preg\u match\u all(“#array\((\d,)\)#iU”,$text,$results)

然后可以从结果数组中获取数据

<?php
$text = '$l[0] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$l[1] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$l[2] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);';

$results = array();
preg_match_all('#array\( ((?:\d,?)*) \)#x', $text, $matches);
for( $i = 0, $L = sizeof($matches[1]); $i < $L; $i++)
{
    $results[] = explode(',', $matches[1][$i]);
}
print_r($results);
preg\u match\u all(“#array\((\d,)\)\iU”,$text,$results)

然后可以从结果数组中获取数据

<?php
$text = '$l[0] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$l[1] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$l[2] = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);';

$results = array();
preg_match_all('#array\( ((?:\d,?)*) \)#x', $text, $matches);
for( $i = 0, $L = sizeof($matches[1]); $i < $L; $i++)
{
    $results[] = explode(',', $matches[1][$i]);
}
print_r($results);

您只需要数据吗?所以这里你只需要0,0,0,0,0,0,0。。。等等,对吗?你想要的只是数据?所以这里你只需要0,0,0,0,0,0,0。。。等等。对吗?太棒了,谢谢你们(对你们两个我打算给你们两个投票),但为什么它只返回数组的前两行呢?对不起,黑客艺术家给了你一个更好的解决方案,因为preg_match_all只会记住每个数组中的最后一个数字。我已经编辑了答案。太棒了,谢谢你们(对你们两个我打算给你们两个投票),但为什么它只返回数组的前两行?很抱歉,黑客艺术家给了你们一个更好的解决方案,因为preg_match_all只会记住每个数组中的最后一位数字。我已经编辑了答案。