澳门威利斯人_威利斯人娱乐「手机版」

来自 网络资讯 2019-08-17 13:01 的文章
当前位置: 澳门威利斯人 > 网络资讯 > 正文

正则表达式常用函数使用小结,php中explode与spl

<?php
   // 分隔符可以是斜线,点,或横线
   $date = "04/30/1973"; 
   list($month, $day, $year) = split ('[/.-]', $date);
   echo "Month: $month; Day: $day; Year: $year<br />n";
?>

$test1 = end(split('.','abc.txt'));

2.多行相称
独有使用POSIX下的正则表式函数,很难张开复杂的相配操作。譬如,对总体文件(特别是多行文本)进行相称查找。使用ereg()对此打开操作的二个方法是分行管理。代码6.5的亲自去做演示了ereg()怎样将INI文件的参数赋值到数组之中。
代码6.5 文件内容的多行匹配

<?php list($user, $pass, $uid, $gid, $extra) =  split (":", $passwd_line, 5);  ?>

解析可能用斜线,点,或横线分割的日子:  

<?php
$seek = array();
$text = "I have a dream that one day I can make it. So just do it, nothing is impossible!";
//将字符串按空白,标点符号拆分(各种标点后也大概跟有空格)
$words = preg_split("/[.,;!s']s*/", $text);
foreach($words as $val)
{
$seek[strtolower($val)] ;
}
echo "共有大致" .count($words). "个单词。";
echo "其中国共产党有" .$seek['i']. "个单词“I”。";
?>

对于初学者的话,驾驭PHP中常用函数的用法,是其承接深造的根底。明日大家就为大家详细介绍有关PHP函数split()的一部分施用办法,希望大家能透过这篇文章介绍的原委扩张和睦的知识库。
说明 array split ( string $pattern, string $string [, int $limit] ) 
提示 preg_split() 函数使用了 Perl 包容正则表达式语法,平常是比PHP函数split()更加快的代替方案。尽管不须要正则表达式的威力,则选拔explode() 越来越快,那样就不会产生正则表明式引擎的萧疏。
本函数重返二个字符串数组,种种单元为 string 经区分轻重缓急写的正则表明式 pattern 作为边界划分出的子串。假若设定了 limit,则赶回的数组最多带有 limit 个单元,而里面最终多个单元包涵了 string 中剩下的有着片段。假诺出错,则 split() 重返 FALSE。
将 /etc/passwd 中的前多个字段分割出来:
例 1839. PHP函数split()例子 深深PHP nl2br()格式化输出的详解

换成:

复制代码 代码如下:

复制代码 代码如下:

echo $test1;//no output

复制代码 代码如下:

PHP函数split()的宗旨语法为:array split ( string $pattern, string $string [, int $limit] )。大家向我们举了五个例证来具体讲明那个函数的施用办法。

<?php
//   分隔符能够是斜线,点,或横线
$date   =   "04/30/1973 ";
list($month,   $day,   $year)   =   split   ( '[/.-] ',   $date);
echo   "Month:   $month;   Day:   $day;   Year:   $year <br   /> n ";
?>    

<?php
//字符串
$string = "Name: {Name}<br>nEmail: {Email}<br>nAddress: {Address}<br>n";
//模式
$patterns =array(
"/{Address}/",
"/{Name}/",
"/{Email}/"
);
//替换字串
$replacements = array (
"No.5, Wilson St., New York, U.S.A",
"Thomas Ching",
"tom@emailaddress.com",
);
//输出情势替换结果
print preg_replace($patterns, $replacements, $string);
?>

复制代码 代码如下:

初看未有吗差异,貌似功效都同样。笔者就犯了这些错误。 请注意八个函数的率先个参数string $pattern和string separator,三个是$pattern表达是正则字符串,三个是$separator是习感觉常字符串。 看下边包车型大巴代码:

2.preg_split()
本函数与split函数作用雷同。代码6.9是二个招来文章中单词数量的亲自过问。
代码6.9 查找文章中单词数量

想模仿 Perl 中近乎的 @chars = split('', $str) 行为,请参见 preg_split() 或 str_split() 函数中的例子。
小心 pattern 是贰个正则表明式。倘若想要用的撤销合并字符是正则表明式中的特殊字符,要先将其转义。假若以为PHP函数split()(或别的任何 regex 函数)行为离奇的话,请阅读包涵在 PHP 发行李包裹中 regex/ 子目录下的 regex.7 文件。该文件是手册页面格式,能够用类似 man /usr/local/src/regex/regex.7 的下令来阅读

用split的不易做法是:加转义符号

<?php
$username = $_SERVER['REMOTE_USER'];
$filename = $_GET['file'];
//对文本名进行过滤,以保障系统安全
if (!ereg('^[^./][^/]*$', $userfile))
{
die('这不是二个地下的公文名!');
}
//对用户名张开过滤
if (!ereg('^[^./][^/]*$', $username))
{
die('那不是三个不算的用户名');
}
//通过安全过滤,拼合文件路线
$thefile = "/home/$username/$filename";
?>

你或然感兴趣的稿子:

  • php中explode与split的界别介绍
  • php split汉字
  • PHP5.2下chunk_split()函数整数溢出纰漏 深入分析
  • PHP的explode和implode的采用表明
  • 澳门威斯尼人最新网站,php中应用explode函数分割字符串到数组
  • php字符串分割函数explode的实例代码
  • PHP explode()函数用法、切分字符串
  • php explode函数实例代码
  • php连接函数implode与分割explode的历历在目深入分析
  • PHP中explode函数和split函数的区分小结

 
分析:"." 符号是正则表明式的主要字所以split无效,而explode有效。

习感到常状态下,使用与Perl包容的正则表明式相配函数perg_match(),将比使用ereg()或eregi()的快慢更加快。要是只是探索三个字符串中是不是包括有些子字符串,提议使用strstr()或strpos()函数。
3.preg_grep()
函数原型:array preg_grep (string $pattern, array $input)
preg_grep()函数重临贰个数组,当中包涵了$input数组中与给定的$pattern格局相相称的单元。对于输入数组$input中的每种成分,preg_grep()也只实行叁次相称。代码6.3提交的示范轻便地注解了preg_grep()函数的选取。
代码6.3 数组查询匹配

假若字符串中有 n 个与 pattern 相称的类型,则赶回的数组将包含 n 1 个单元。例如,若无找到 pattern,则会回到多个唯有三个单元的数组。当然,借使 string 为空也是这么。
深入分析只怕用斜线,点,或横线分割的日子:
例 1840. PHP函数split()例子

echo $test1;//output txt

复制代码 代码如下:

注意   pattern   是一个正则说明式。要是想要用的剪切字符是正则表达式中的特殊字符,要先将其转义。若是以为   split()(或其余任何   regex   函数)行为奇异的话,请阅读包涵在   PHP   发行李包裹中   regex/   子目录下的   regex.7   文件。该文件是手册页面格式

复制代码 代码如下:

先是来看下多少个办法的定义:

复制代码 代码如下:

本文由澳门威利斯人发布于网络资讯,转载请注明出处:正则表达式常用函数使用小结,php中explode与spl

关键词: 澳门威利斯人