PHP:Text explode()问题

PHP:Text explode()问题,php,split,explode,Php,Split,Explode,我对explode()函数有问题。我使用函数分解字符串,如“Name:Replica”,但有时字符串中有2个或更多冒号(“:”),出现问题的原因是我的脚本是: 示例:“名称:副本:replica2:replica3” 我需要任何解决这个问题的方法。因为当我拆分第一个冒号(“:”)后面的字符串时,第二部分必须是最后一部分 问候,, 乔治 顺便说一句-对不起我的英语 根据@Jon Nalley的建议进行编辑。请注意,限制(第三个参数)仅由PHP5.x支持 list($attribute, $valu

我对explode()函数有问题。我使用函数分解字符串,如“Name:Replica”,但有时字符串中有2个或更多冒号(“:”),出现问题的原因是我的脚本是: 示例:“名称:副本:replica2:replica3

我需要任何解决这个问题的方法。因为当我拆分第一个冒号(“:”)后面的字符串时,第二部分必须是最后一部分

问候,, 乔治


顺便说一句-对不起我的英语

根据@Jon Nalley的建议进行编辑。请注意,限制(第三个参数)仅由PHP5.x支持

list($attribute, $value) = explode(":", $string, 2);

我想您应该使用'limit'(第三个)参数来
explode()

这将确保你只得到两个结果


使用可选的第三个
$limit
参数
explode()

这告诉
explode()
返回一个最多包含2个元素的数组,将所有后续冒号放入返回的第二个字符串片段中。注意,根据您的示例,您应该使用冒号加空格:

$explode = explode(": ", $string, 2);

但这可能只是巧合。

你怎么知道应该在哪个冒号处拆分?2个或更多冒号的意思是:
名称:replica:blah:bluh
名称::replica
?2个或更多冒号的意思是:name:asdasd:asdasd:ahsiduashd:replica:rep2I尝试了你的方法,但失败了。。。这是我的代码:
$string=“Name:asdasd:asdasd:asdasdad”;列表($attribute,$value)=分解(“:”,$string);echo$属性。$值试试看,你会明白的。
list($attribute, $value) = explode(":", $string, 2);
$explode = explode(":", $string, 2);
$explode = explode(": ", $string, 2);