在php中将字符串分解为数组
我有一根绳子在php中将字符串分解为数组,php,Php,我有一根绳子 string(22) ""words,one","words2"" 需要分解成一个具有结构的数组 array( [0] => words,one ,[1] => words2) 我假设您的“是”\“或”的打字错误 我使用正则表达式捕获“和(.*?的内部内容,?表示懒惰。 我用\“对”进行转义,使其读取文本。 你的话将以百万美元[1]为单位 $str = '"words,one","words2"'; Preg_match_all("/\"(.*?)\"/", $s
string(22) ""words,one","words2""
需要分解成一个具有结构的数组
array( [0] => words,one ,[1] => words2)
我假设您的“
是”\“
或”
的打字错误我使用正则表达式捕获
“
和(.*?
的内部内容,?
表示懒惰。我用
\“
对”
进行转义,使其读取文本。你的话将以百万美元[1]为单位
$str = '"words,one","words2"';
Preg_match_all("/\"(.*?)\"/", $str, $m);
Var_dump($m);
如果不是打字错误,您可以使用:
Preg_match_all("/\"+(.*?)\"+/", $str, $m);
在这里,我在每个“
中添加了一个+
,这意味着“可以有多个”我假设您的“
是”或“
的打字错误
我使用正则表达式捕获“
和(.*?
的内部内容,?
表示懒惰。
我用\“
对”
进行转义,使其读取文本。
你的话将以百万美元[1]为单位
$str = '"words,one","words2"';
Preg_match_all("/\"(.*?)\"/", $str, $m);
Var_dump($m);
如果不是打字错误,您可以使用:
Preg_match_all("/\"+(.*?)\"+/", $str, $m);
在这里,我向每个“
添加了一个+
,这意味着“可以有多个”要继续使用您提到的分解
选项,请尝试以下操作:
$str = '"words,one","words2"';
$arr = explode('","', trim($str, '"'));
print_r($arr);
请注意,trim
删除起始引号和结束引号,而explode
使用内部引号作为分隔符的一部分
输出
Array
(
[0] => words,one
[1] => words2
)
要继续使用您提到的“尝试”的“分解”
选项,您可以尝试以下操作:
$str = '"words,one","words2"';
$arr = explode('","', trim($str, '"'));
print_r($arr);
请注意,trim
删除起始引号和结束引号,而explode
使用内部引号作为分隔符的一部分
输出
Array
(
[0] => words,one
[1] => words2
)
使用以下命令,您可以尝试:
$str = '"words,one","words2"';
$matches = preg_split("/\",\"/", trim($str, '"'));
print_r($matches);
检查:使用您可以尝试:
$str = '"words,one","words2"';
$matches = preg_split("/\",\"/", trim($str, '"'));
print_r($matches);
检查:假设输入字符串可以按如下方式分解:
- 周围的双引号始终存在,并由每个双引号组成
- “words,one”,“words2”在删除周围的双引号后保留
fgetcsv
可以解析它
修剪原稿并将其包装在流中允许我们使用
fgetcsv
此方法还支持其他类似格式的字符串:
- 周围的双引号始终存在,并由每个双引号组成
- “words,one”,“words2”在删除周围的双引号后保留
fgetcsv
可以解析它
修剪原稿并将其包装在流中允许我们使用
fgetcsv
此方法还支持其他类似格式的字符串:
”
更多。这真的正确吗?我需要数组(3){[0]=>string(9)”“words,一个”[1]=>string(10)”“words2”“}的结果。与原始字符串相比,有更多的“
。这是真的吗?