<?<span php
</span><span /*</span><span posix扩展正则表达式函数</span><span */</span>
<span /*</span><span ---------------------------------------------------</span><span */</span>
<span $ereg</span> = '^[$][[:alpha:]_][[:alnum:]]*'<span ;
</span><span ereg</span>(<span $ereg</span>,'$_name',<span $register</span>); <span //</span><span 匹配并且存放数组 //eregi()不分大小写</span>
<span var_dump</span>(<span $register</span>); <span //</span><span 显示数组结构</span>
<span /*</span><span ---------------------------------------------------</span><span */</span>
<span $ereg</span> = 'tm'<span ;
</span><span $str</span> = 'hello,tm,Tm,tM'<span ;
</span><span $rep_str</span>=<span eregi_replace</span>(<span $ereg</span>,'TM',<span $str</span>); <span //</span><span 匹配成功的都用TM替换 ereg_replace() 分大小写</span>
<span echo</span> <span $rep_str</span><span ;
</span><span /*</span><span ---------------------------------------------------</span><span */</span>
<span $ereg</span> = 'is'<span ;
</span><span $str</span> = 'This is a register book.'<span ;
</span><span $arr_str</span> = <span spliti</span>(<span $ereg</span>,<span $str</span>); <span //</span><span 分割字符串。按正则匹配 split() 分大小写</span>
<span var_dump</span>(<span $arr_str</span><span );
</span><span /*</span><span pcre兼容正则表达式函数 --无论从效率或者语法上pcre都略优于posix</span><span */</span>
<span /*</span><span ---------------------------------------------------</span><span */</span>
<span $preg</span> = '/d{3,4}-?d{7,8}/'<span ;
</span><span $arr</span> = <span array</span>('043212345678','0431-7654321','12345678'); <span //</span><span 包含元素数组</span>
<span $preg_arr</span> = <span preg_grep</span>(<span $preg</span>,<span $arr</span><span );
</span><span var_dump</span>(<span $preg_arr</span><span );
</span><span /*</span><span ---------------------------------------------------</span><span */</span>
<span $str</span> = 'This is an example!'<span ;
</span><span $preg</span> = '/w{2}/'<span ;
</span><span $num1</span> = <span preg_match</span>(<span $preg</span>,<span $str</span>,<span $str1</span>); <span //</span><span 匹配并返回成功个数,把匹配成功的放入数组 成功后,就停止</span>
<span echo</span> <span $num1</span>."<br />"<span ;
</span><span var_dump</span>(<span $str1</span><span );
</span><span echo</span> "<br />"<span ;
</span><span //</span><span 匹配并返回成功个数,把匹配成功的放入数组 成功后,不停止,直到匹配所有字符结束</span>
<span $num2</span> = <span preg_match_all</span>(<span $preg</span>,<span $str</span>,<span $str2</span><span );
</span><span echo</span> <span $num2</span>."<br />"<span ;
</span><span var_dump</span>(<span $str2</span><span );
</span><span /*</span><span ---------------------------------------------------</span><span */</span>
<span $str</span> = '!、$、^、*、+、.、[、]、\、/、b、<、>'<span ;
</span><span $str2</span>='b'<span ;
</span><span //</span><span 自动将正则特殊字符进行转义,如果有参数,字符中含参数字符也会被转义</span>
<span $match_one</span> = <span preg_quote</span>(<span $str</span>,<span $str2</span><span );
</span><span echo</span> <span $match_one</span><span ;
</span><span /*</span><span ---------------------------------------------------</span><span */</span>
<span $string</span> = '[b]粗体字[/b]'<span ;
</span><span //</span><span 匹配并替换 用了反向引用</span>
<span $b_rst</span> = <span preg_replace</span>('/[b](.*)[/b]/i','<b>$1</b>',<span $string</span><span );
</span><span echo</span> <span $b_rst</span><span ;
</span><span /*</span><span ---------------------------------------------------</span><span */</span>
<span function</span> c_back(<span $str</span><span )
{
</span><span //</span><span 反向引用</span>
<span $str</span> = "<font color=<span $str</span>[1]><span $str</span>[2]</font>"<span ;
</span><span return</span> <span $str</span><span ;
}
</span><span $string</span> = '[color=blue]字体蓝色[/color]'<span ;
</span><span //</span><span preg_replace_callback函数中要替换的字符,换成了回调函数而已和 preg_replace差不多</span>
<span echo</span> <span preg_replace_callback</span>('/[color=(.*)](.*)[/color]/U',"c_back",<span $string</span><span );
</span><span /*</span><span ---------------------------------------------------</span><span */</span>
<span //</span><span 此函数书上没有,我自己写的示例给大家!</span>
<span $preg</span> = "/s+/"; <span //</span><span 这里也可以换成 "/s{1,}/";</span>
<span $str</span> = "I'm Chinese! I can eat"<span ;
</span><span $arr</span> = <span preg_split</span>(<span $preg</span>,<span $str</span>); <span //查找并拆分。--这里有笔误,以前看过的朋友对不住了,现已更正</span>
<span var_dump</span>(<span $arr</span><span );
</span>?>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号