php preg_split,split(),preg_split()与explode()函数分析与介

split()函数可以实现使用正则表达式来把字符串拆分为较小的块,并作为一个数组返回,如果出现错误,则返回false。同样也可以根据你需要选择要返回多少个小块。

array split(string $pattern,string $string [,int $limit])

pattern:相应的正则表达式

string:字符串

limit:指定字符串分割的最大数目

$expression="3*5+12/6-15";

$pattern="/";

$limit=3;

$parts=split($pattern,$expression,$limit);

print_r($parts);

?>

结果:

Array

(

[0] => 3*5+12

[1] => 6-15

)

$expression="3*5+12/6-15";

$pattern="[+/]";

$limit=3;

$parts=split($pattern,$expression,$limit);

print_r($parts);

?>

结果:

Array

(

[0] => 3*5

[1] => 12

[2] => 6-15

)

preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。

explode()函数:使用一个字符串分割另一个字符串

// 示例 1

$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";

$pieces = explode(" ", $pizza);

echo $pieces[0]; // piece1

echo $pieces[1]; // piece2

// 示例 2

$data = "foo:*:1023:1000::/home/foo:/bin/sh";

list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);

echo $user; // foo

echo $pass; // *

?>

// 示例 3

$str = 'one|two|three|four';

// 正数的 limit

print_r(explode('|', $str, 2));

// 负数的 limit(自 PHP 5.1 起)

print_r(explode('|', $str, -1));

?>

以上例程会输出:

Array

(

[0] => one

[1] => two|three|four

)

Array

(

[0] => one

[1] => two

[2] => three

)

preg_split:通过一个正则表达式分隔字符串

4.3.0版本:增加了标记PREG_SPLIT_OFFSET_CAPTURE.

4.0.5版本:增加了标记PREG_SPLIT_DELIM_CAPTURE.

$str = 'string';

$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

print_r($chars);

?>

以上程序输出样式:

Array

(

[0] => s

[1] => t

[2] => r

[3] => i

[4] => n

[5] => g

)

$str = 'hypertext language programming';

$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);

print_r($chars);

?>

以上程序输出样式:

Array

(

[0] => Array

(

[0] => hypertext

[1] => 0

)

[1] => Array

(

[0] => language

[1] => 10

)

[2] => Array

(

[0] => programming

[1] => 19

)

以上是大纲或介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:58850198咨询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`preg_match()` 是 PHP 中一个用于正则表达式匹配的函数。它的作用是在一个字符串中搜索匹配指定正则表达式的第一个位置,如果匹配成功则返回 `1`,否则返回 `0`。 `preg_match()` 函数的基本用法如下: ```php preg_match($pattern, $subject, $matches); ``` 其中,`$pattern` 是一个正则表达式,用于匹配 `$subject` 中的内容,`$matches` 是一个可选的数组,用于存储匹配到的结果。 `preg_match()` 函数的参数说明: - `$pattern`:一个正则表达式,用于匹配 `$subject` 中的内容。 - `$subject`:要被匹配的字符串。 - `$matches`:一个可选的数组,用于存储匹配到的结果。如果 `$matches` 被提供,那么它会被填充为匹配到的子模式的结果数组。 下面是一个简单的例子,用于匹配一个字符串中的数字: ```php $str = 'The number is 123.'; $pattern = '/\d+/'; preg_match($pattern, $str, $matches); echo $matches[0]; // 输出:123 ``` 在上面的例子中,`$pattern` 是一个正则表达式,用于匹配字符串中的数字。`$str` 是要被匹配的字符串,`$matches` 是一个数组,用于存储匹配到的结果。`preg_match()` 函数返回 `1`,表示匹配成功。最后,我们输出了 `$matches` 数组中的第一个元素,即匹配到的数字。 需要注意的是,`preg_match()` 函数只会匹配到第一个符合条件的结果,如果要匹配所有的结果,可以使用 `preg_match_all()` 函数。同时,正则表达式的语法非常复杂,需要学习和练习才能熟练掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值