拆分字符串问题:既不使用preg_split也不使用expode()

时间:2015-10-27 06:00:03

标签: php regex

我传递了这个字符串

linktest>http://1.com/

为$ value。

$fixed = preg_split("/>/", $value);

运行,当我在$ fixed上运行print_r函数时,它会像这样返回

Array ( [0] => linktest>http://1.com/ )

我要做的是用斜角括号(>)分隔字符串,我的预期收益率是

Array ( [0] => linktest, [1] => http://1.com/ )

在我的脚本中,我运行了类似的功能

preg_split("/[\s]+/"), $string);

由字符空间分隔并返回空格之间的所有内容。我不明白为什么上面这个,没有分开,但我测试了我的正则表达式,它可以选择有角度的支架。

1 个答案:

答案 0 :(得分:1)

我已经测试了以下代码段并且它有效,您的代码中可能还有其他问题:

$value = "something>again>thisisgood";

print_r(preg_split("/\>/", $value));

输出:

Array ( [0] => something [1] => again [2] => thisisgood ) 

附注:

为什么不使用explode()功能?它返回一个字符串数组,该数组由通过参数指定的分隔符分割,在您的情况下为:

explode(">", $value);

它返回一个由“>”分隔的字符串数组。

<强>更新

通过评论谈论,“&gt;”被编码为HTML实体,因此它也应该被视为分隔符中的HTML实体。

explode("&gt;", $value);