Php 在字符串中分解空格,不包括';内部引用
除了引号内的内容,我不知道如何在字符串中分解空格。我发现了几种可以完成这项工作的正则表达式,但这里的特殊性在于引号前面有一个等号:Php 在字符串中分解空格,不包括';内部引用,php,regex,Php,Regex,除了引号内的内容,我不知道如何在字符串中分解空格。我发现了几种可以完成这项工作的正则表达式,但这里的特殊性在于引号前面有一个等号: string = 'arg1="value1" arg2="value2" arg3="value3 value4 value5"'; 我能够分离出引号中包含的内容,但无法获得完整的引号对arg1=“value1 value2” 谢谢你的帮助 $test = 'arg1="value1" arg2="value2" arg3="value3 value4 valu
string = 'arg1="value1" arg2="value2" arg3="value3 value4 value5"';
我能够分离出引号中包含的内容,但无法获得完整的引号对arg1=“value1 value2”
谢谢你的帮助
$test = 'arg1="value1" arg2="value2" arg3="value3 value4 value5"';
preg_match_all('#([a-zA-Z0-9]+)="([^"]+)"#', $test, $matches);
var_dump($matches);
返回:
array(3) {
[0]=>
array(3) {
[0]=>
string(13) "arg1="value1""
[1]=>
string(13) "arg2="value2""
[2]=>
string(27) "arg3="value3 value4 value5""
}
[1]=>
array(3) {
[0]=>
string(4) "arg1"
[1]=>
string(4) "arg2"
[2]=>
string(4) "arg3"
}
[2]=>
array(3) {
[0]=>
string(6) "value1"
[1]=>
string(6) "value2"
[2]=>
string(20) "value3 value4 value5"
}
}
.试试这个
<?php
$string = 'arg1="value1" arg2="value2" arg3="value3 value4 value5"';
$whitespacearray= explode(" ",$string);
print_r($whitespacearray);
?>
arg1=“value1 value2”
在本例中,实际上没有逻辑,但我使用它传递一个可以包含多个单词的标签。在这种情况下,这会变得很有用。我的大约是相同的“~\w+(?:=“[^”]+”)”
稍微短一点。谢谢Niels,它工作得很好。