【问题标题】:PHP: separate a string based on `|` delimitersPHP:根据`|`分隔符分隔字符串
【发布时间】:2016-10-07 00:13:57
【问题描述】:

我试图找出一种使用 PHP 的方法,我可以解析来自 URL 的数据字符串,以根据字符 | 分隔每个条目。示例数据:

66.85.14.212:7254|108.174.48.186:8340|72.46.152.194:15240|162.248.91.125:7266|91.121.83.48:7619|185.153.228.114:5775|

有人有什么想法吗?

【问题讨论】:

    标签: php string filter character


    【解决方案1】:

    您可以使用explode() 函数拆分字符串并使用array_filter() 删除空元素

    $string = '66.85.14.212:7254|108.174.48.186:8340|72.46.152.194:15240|162.248.91.125:7266|91.121.83.48:7619|185.153.228.114:5775|';
    $ips = array_filter(explode('|', $string));
    

    这会产生一个包含所有 IP 地址的数组

    Array
    (
        [0] => 66.85.14.212:7254
        [1] => 108.174.48.186:8340
        [2] => 72.46.152.194:15240
        [3] => 162.248.91.125:7266
        [4] => 91.121.83.48:7619
        [5] => 185.153.228.114:5775
    )
    

    还有另外两个函数split()preg_split()也支持正则表达式。

    【讨论】:

    • 如果你这样做 array_filter(explode('|', $string)); 它会为你删除最后一个空数组元素。
    • 它没有打印数组。
    • 哈哈。您在下面看到的结果是您在使用explode 时创建的数组的结构。要这样打印,请使用print_r($ips);
    猜你喜欢
    • 2014-02-10
    • 2019-09-19
    • 2011-08-04
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    相关资源
    最近更新 更多