PHP:文本explode()问题

时间:2011-03-01 01:46:52

标签: php split explode

我遇到了explode()函数的问题。我使用该函数来爆炸像“Name:Replica”这样的字符串,但有时在字符串中有2个或更多冒号(“:”)并且存在问题,因为我的脚本是: 示例:“名称:副本:replica2:replica3

$explode = explode(":", $string);
$query = "INSERT INTO `table` (`field_1`, `field_2`) VALUES ('".$explode[0]."', '".$explode[1]."')";

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

此致 乔治!

P.S。 - 对不起我的英语不好。

3 个答案:

答案 0 :(得分:6)

我想你想使用explode()的'limit'(第三)参数:

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

这将确保您只获得两个结果。

http://php.net/manual/en/function.explode.php

答案 1 :(得分:2)

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

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

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

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

但也许这只是一个巧合。

答案 2 :(得分:1)

根据@Jon Nalley的建议编辑。请注意, limit (第3个参数)仅受PHP 5.x支持

list($attribute, $value) = explode(":", $string, 2);
相关问题