Php中根据特殊字符分解字符串

sac*_*sac 4 php explode special-characters

我有一个字符串:

xyz.com?username="test"&pwd="test"@score="score"#key="1234"
Run Code Online (Sandbox Code Playgroud)

输出格式:

array (
    [0] => username="test"
    [1] => pwd="test"
    [2] => score="score"
    [3] => key="1234"
)
Run Code Online (Sandbox Code Playgroud)

Riz*_*123 5

这应该适合你:

只需与其中包含所有分隔符的字符类preg_split()一起使用即可。最后只需使用删除第一个元素即可。array_shift()

<?php

    $str = 'xyz.com?username="test"&pwd="test"@score="score"#key="1234"';

    $arr = preg_split("/[?&@#]/", $str);
    array_shift($arr);

    print_r($arr);

?>
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => username="test"
    [1] => pwd="test"
    [2] => score="score"
    [3] => key="1234"
)
Run Code Online (Sandbox Code Playgroud)