php——学习笔记,分割字符串,查找字符串,替换字符串

来源:互联网 发布:php implements 编辑:程序博客网 时间:2024/05/21 09:47
preg_split ( ‘写一个正则表达式说明你要按照什么符号分割’,被分割的字符串 ,最多返回n个子串(-1为无限制),PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_OFFSET_CAPTURE)
返回一个数组,
PREG_SPLIT_NO_EMPTY
如果设定了本标记,则 preg_split() 只返回非空的成分。
PREG_SPLIT_DELIM_CAPTURE
如果设定了本标记,定界符模式中的括号表达式也会被捕获并返回。本标记添加于 PHP 4.0.5。
PREG_SPLIT_OFFSET_CAPTURE
如果设定了本标记,如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其在 subject中的偏移量。

<?php

$string = '[b]ABC[/b]DEF[/b]';
$b_rst = preg_replace('/\[b\](.*)\[\/b\](.*)\[\/b\]/','<b>$2</b>',$string);
echo $b_rst;
?>

preg_replace(正则表达式表示会匹配的字符串,需被替换成的字符串,母串),那个$1表示正则会匹配成功的第一小段字符串,以此类推



<?php 
$str='this is a mingribook luntan xiaoxi';
$preg='/\b\w{6}\b/';
$num1=preg_match($preg,$str,$str1);
echo $num1.'<br>';
var_dump($str1);
$num2 =preg_match_all($preg,$str,$str2);
echo '<p>'.$num2.'<br>';
var_dump($str2);
?>

<?php 
$str='this is a mingribook luntan xiaoxi';
$preg='/\b\w{6}\b/';                                  此处的意思是匹配6个字母组成的单词
$num1=preg_match($preg,$str,$str1);
echo $num1.'<br>';
var_dump($str1);
$num2 =preg_match_all($preg,$str,$str2);
echo '<p>'.$num2.'<br>';
var_dump($str2);
?>
preg_match(正则表达式,)匹配成功会返回1,失败返回0,一匹配成功就返回,很懒惰
preg_match_all(正则表达式,)匹配成功会返回匹配成功次数,失败返回0,到结尾才停止,很贪婪


0 0