您的位置:首页 > 编程语言 > PHP开发

\"preg_\" 为前缀的正则表达式常用操作函数——php

2017-05-27 22:05 806 查看
preg_match():原型:int pre_match(string $pattern,string $subject[,array &$matches[, int $flags = 0 [, int $offset = 0 ]]]) 搜索subject与pattern给定的正则表达式的一个匹配。如果提供了matches,则将被搜索的结果填充。如果提供了matches,则 matches被搜索的结果所填充 <?php  // 从 URL 中取得主机名, 模式定界符后面的 "i" 表示不区分大小写字母的搜索  // 定义一个正则表达式的模式字符串  $pattern = "/^(http:\/\/)?([^\/]+)/i";  if(preg_match($pattern, "http://www.php.net/index.html", $matches)) {      // $matches[2]中的内容对应的是模式中第二个圆括号中的子模式所匹配的内容      $host = $matches[2];      echo "URL中的主机名是: $host"; //本例的输出结果将是:URL中的主机名是www.php.net。  }  else {      echo "没有匹配的串";  }  ?>  preg_replace():执行一个正则表达式的搜索与替换原型:mixed preg_replace( mixed $pattern,mixed $replacement,mixed subject[,int $limit=-1[,int &$count]])搜索subject中匹配pattern的部分,以replacement部分替换。如果指定了limit,则仅替换limit个匹配项,如果省略limit或者其值为-1,则所有的匹配项都会被替换count 如果指定, 将会被填充为完成的替换次数. 

返回值

如果subject是一个数组, preg_replace()返回一个数组, 其他情况下返回一个字符串.
如果subject是一个数组,preg_replace()返回一个数组,其他情况下返回一个字符串
如果匹配被查找到, 替换后的subject被返回, 其他情况下 返回没有改变的subject. 如果发生错误, 返回NULL .  
如果匹配被查找到,替换后的subject被返回,其他情况下返回没有改变的subject,如果发生错误,返回null
preg_split():通过一个正则表达式分割字符串原型:array preg_split( string $pattern,string $subject[,int $limit=-1[,int $flags=0]])pattern 用于搜索的模式, 字符串形式. subject 输入字符串 limit 如果指定, 将限制分隔得到的子串最多只有limit个, 返回的最后一个 子串将包含所有剩余部分.limit值为-1, 0或null时都代表"不限制", 作为php的标准, 你可以使用null跳过对flags的设置.
flags可以是下列标记的任意组合:— PREG_SPLIT_NO_EMPTY 如果设定了本标记,则preg_split()只返回非空的部分。 — PREG_SPLIT_DELIM_CAPTURE 如果设定了本标记,定界符模式中的括号表达式也会被捕获并返回。 — PREG_SPLIT_OFFSET_CAPTURE 如果设定了本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其在subject中的偏移量。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: