PHP拆分替代?

时间:2010-05-11 18:07:04

标签: php

PHP告诉我不推荐拆分,我应该使用哪种替代方法?

8 个答案:

答案 0 :(得分:125)

explode 是另类选择。但是,如果您打算通过 正则表达式 进行拆分,则可选择 preg_split

答案 1 :(得分:22)

split已弃用,因为它是使用POSIX正则表达式的函数族的一部分;不推荐使用整个系列来支持PCRE(preg_*)函数。

如果你不需要正则表达式功能,那么explode是一个非常好的选择(如果不被弃用的话,推荐使用split),如果另一方面你确实需要使用正则表达式,然后PCRE替代只是preg_split

答案 2 :(得分:16)

  • preg_split如果您需要按正则表达式拆分。
  • str_split如果您需要按字符拆分。
  • explode如果您需要通过简单的事情进行拆分。

同样对于未来,如果你想知道PHP希望你在不推荐使用什么时使用,你可以随时查看手册中的function,它会告诉你替代方案。

答案 3 :(得分:6)

我想在此清楚preg_split();远离它,但explode();可以与split();

类似的方式使用

以下是split();explode();用法

之间的比较

如何使用split()

<?php

$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo $month; // foo
echo $day; // *
echo $year;

?>

网址:http://php.net/manual/en/function.split.php

如何使用explode()

<?php

$data = "04/30/1973";
list($month, $day, $year) = explode("/", $data);
echo $month; // foo
echo $day; // *
echo $year;

?>

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

以下是我们如何使用它:)

答案 4 :(得分:2)

您可以使用更简单的函数preg_match,它比所有其他函数更好,更快。

$var = "<tag>Get this var</tag>";
preg_match("/<tag>(.*)<\/tag>/", $var , $new_var);
echo $new_var['1']; 

输出:Get this var

答案 5 :(得分:1)

是的,我会使用爆炸或你可以使用:

preg_split

PHP 6的建议方法是什么。 preg_split Documentation

答案 6 :(得分:0)

如果要将字符串拆分为单词,可以使用explode()或str_word_count()。

答案 7 :(得分:0)

有同样的问题,但是我的代码必须同时在PHP 5和PHP 7上运行。

这是我的代码,它解决了此问题。.以dmY格式输入日期,并带有定界符“ /。-”

<?php
function DateToEN($date){
  if ($date!=""){
    list($d, $m, $y) = function_exists("split") ?  split("[/.-]", $date) : preg_split("/[\/\.\-]+/", $date);
    return $y."-".$m."-".$d;
  }else{
    return false;
  }
}
?>