我有一个像这样的 PHP 字符串-
$str = "Foo var1='Abook' var2='A book'";
我正在尝试将此字符串转换为数组,该数组会将 ''
引号内的单词视为单个语句(即它们将忽略 ''
引号内的空格)。
所以我的数组看起来像
Array
(
[0] => "Foo",
[1] => "var1='Abook'",
[3] => "var2='A book'"
)
请注意,该数组是由外部 ''
引号之间的空格分隔字符串组成的,但不在其内部。
你能给我一些好的 preg 函数吗?这样我就可以完成这个任务。
最佳答案
这适用于您的示例输入和输出,但对您来说可能不够通用。这至少是一个起点:
<?php
$str = "Foo var1='Abook' var2='A book'";
$res = array();
$bits = explode(' ', $str, 2);
$res[] = $bits[0];
if (preg_match_all("/\w+='[^']+'/", $bits[1], $matches) !== false) {
$res = array_merge($res, $matches[0]);
}
print_r($res);
?>
关于PHP 忽略字符串中的空格来形成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15441759/