php一些字符替换正则表达式的函数

 

1.奇怪的strtok函数,可以根据制定参数分解字符串,每一部分相当于一个指针,需要配合循环语句才能完全执行完,注意第一参数只需给一次就ok了!,例如

[php]$a="xuandun同学:鉴于您的良好表现,特颁布本届诺贝尔和平奖|假的啦";
$c="|,:";
$b=strtok($a,$c);
while ($b){
echo "$b<br />";
$b=strtok($c);
}[/php]

2.explode函数,分解字符串为数组,这个其实前面学习的时候用到过,上例子:

[php]//把1111-11-11 按-分开为数组,并输出该数组
print_r(explode("-","1111-11-11"));[/php]

3.implode函数,终于把1111-11-11这个超级光棍节分开了,晕用它又恢复了,例:

[php]//先分开他,变成数组了
$a=explode("-","1111-11-11");
//该函数可以合并数组,使用第一个参数指定分隔符
echo implode("/",$a);[/php]

4.strpos函数搜索指定字符串第一次出现的位置(区分大小写,姊妹:stripos不区分大小写),不常用查手册
5.strrpos函数搜索指定字符串最后一次出现的位置(区分大小写,姊妹:strripos不区分大小写),不常用查手册
6.最频繁用的str_replace函数,替换字符串

[php]echo str_replace("帅哥","美女","我是帅哥");[/php]

7.strstr函数可以获取从指定字符串开始后面的字符,比若说提取邮箱的域名部分

[php]echo ltrim(strstr("admin@xuandun.com","@"),"@");
[/php]

因为是输出包括指定函数+后面的字符串,所以需要使用ltrim删除那个指定滴函数,查手册吧。
8.substr函数,指定位置读取字符串,查手册吧,写麻烦
9.统计指定字符串出现次数,substr_count函数
10.替换字符串内指定位置开始重新写为新的内容,substr_replace函数
11.刚才提前登场的ltrim函数,从字符串开始处删除字符,包括空格、换行、回车等等。rtrim函数删除从后面开始,teim函数从2头开始
12.str_pad函数,把字符串填充为指定长度的字符串,可以指定填充物,默认空格,更多参数手册吧
13.count_chars可以计算每个字符的出现频率,不常用 手册吧
14.str_word_count可以返回字符串里的所有单词成数组 不常用 手册吧

POSIX正则表达式函数
ereg()和eregi()
ereg_replace()和eregi_replace()
split()和spliti()

ereg()和eregi()ereg()字符串匹配函数,eregi()是ereg()函数的忽略大小的版本
语法格式:if (!ereg('^[^./][^/]*$', $userfile))//不匹配格式输出die
{
die('这是一个非法的文件名!');
}

ereg_replace()和eregi_replace(忽略大小写)替换
string eregi_replace (“正则表达式”,“目标替换字符”,“替换目标”)
语法格式:$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\1was", $string);\1 为继承第一个整体
echo ereg_replace("(( )is)", "\2was", $string);\2继承第二个整体

split()和spliti(忽略大小写)用正则表达式将字符串分割到数组中
list:给数组中的值赋予一些变量
语法格式:$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);//列出三个变数对应格式//以什么形式拆分 拆分谁
echo "Month: $month; Day: $day; Year: $year<br />
";
输出结果Month: 04; Day: 30; Year: 1973

多行匹配

$rows = file('php.ini'); //将php.ini文件读到数组中

//循环便历
foreach($rows as $line)
{
if(trim($line))
{
//将匹配成功的参数写入数组中
if(eregi("^([a-z0-9_.]*) *=(.*)", $line, $matches)) //循环进行多行匹配
{
$options[$matches[1]] = trim($matches[2]);
}
unset($matches);
}
}

//输出参数结果
print_r($options);

PCRE正则表达式
PCRE全称为Perl Compatible Regular Expression,意思是Perl兼容正则表达式。
在PCRE中,通常将模式表达式(即正则表达式)包含在两个反斜线“/”之间,如“/apple/”。

元字符(Meta-character)
元字符 说明
A 匹配字符串串首的原子
Z 匹配字符串串尾的原子
b 匹配单词的边界 /bis/ 匹配头为is的字符串 /isb/ 匹配尾为is的字符串 /bisb/ 定界
B 匹配除单词边界之外的任意字符 /Bis/ 匹配单词“This”中的“is”

d 匹配一个数字;等价于[0-9]
D 匹配除数字以外任何一个字符;等价于[^0-9]
w 匹配一个英文字母、数字或下划线;等价于[0-9a-zA-Z_]
W 匹配除英文字母、数字和下划线以外任何一个字符;等价于[^0-9a-zA-Z_]
s 匹配一个空白字符;等价于[f
tv]
S 匹配除空白字符以外任何一个字符;等价于[^f
tv]
f 匹配一个换页符等价于 x0c 或 cL
匹配一个换行符;等价于 x0a 或 cJ
匹配一个回车符等价于x0d 或 cM
t 匹配一个制表符;等价于 x09或cl
v 匹配一个垂直制表符;等价于x0b或ck
oNN 匹配一个八进制数字
xNN 匹配一个十六进制数字
cC 匹配一个控制字符

模式修正符(Pattern Modifiers)
i -可同时匹配大小写字母
M -将字符串视为多行
S -将字符串视为单行,换行符做普通字符看待,使“.”匹配任何字符
X -模式中的空白忽略不计
U -匹配到最近的字符串
e -将替换的字符串作为表达使用
格式:/apple/i匹配“apple”或“Apple”等,忽略大小写。 /i

PCRE的模式单元
//1 提取第一位的属性
/^d{2}([W])d{2}\1d{4}$匹配“12-31-2006”、“09/27/1996”、“86 01 4321”等字符串。但上述正则表达式不匹配“12/34-5678”的格式。这是因为模式“[W]”的结果“/”已经被存储。下个位置“1”引用时,其匹配模式也是字符“/”。

当不需要存储匹配结果时使用非存储模式单元“(?:)”
例如/(?:a|b|c)(D|E|F)\1g/ 将匹配“aEEg”。在一些正则表达式中,使用非存储模式单元是必要的。否则,需要改变其后引用的顺序。上例还可以写成/(a|b|c)(C|E|F)2g/。

时间: 2024-09-21 20:14:41

php一些字符替换正则表达式的函数的相关文章

Mysql教程:数据库字符替换和replace函数的使用

有时候遇到想替换数据库里某一字段的内容时可以用REPLACE函数: 语法如下: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串: mysql>selectREPLACE('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com' 这个函数是多字节安全的.

js中字符替换函数String.replace()使用技巧_javascript技巧

定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象.   replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数.

replace MYSQL字符替换函数sql语句分享(正则判断)_Mysql

复制代码 代码如下: Update dede_addonsoft SET dxylink=REPLACE(dxylink, '.zip', '.rar') where aid > 45553; 复制代码 代码如下: update `table_name` set field = replace(field,'.rar','.7z'); table_name:要查询的表名, field:表里的字段名, replace(field,'.rar','.7z'); :正则匹配,把field字段里的 .r

JS利用正则配合replace替换指定字符_正则表达式

定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replacement) 参数 描述 regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返回值 一个新的字符串,是用 repl

javascript string.replace()字符替换函数

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象.   replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数.   11

js字符替换函数的详细使用方法

定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement) 参数 描述 regexp/substr  必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数.

js 字符替换函数

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

js replace字符替换函数

今天我们讲到了js的字符替换函数replace详解,主要会讲到他替换简单的字符以及利用正则表达式来处理字符替换,有需的朋友可以看看. 最简单替换函数   <script language="网页特效"> var strm = "javascript is a good script language"; //在此我想将字母a替换成字母a alert(strm.replace("a","a")); </scri

字符串替换-java如何将字符串的所有括号中指定字符替换掉?(正则表达式或者其它方法)

问题描述 java如何将字符串的所有括号中指定字符替换掉?(正则表达式或者其它方法) 要处理字符串 Medical Care ( Costs Inverse ## agonism ( Costs Inverse ## agonism ) ) Costs ( Inverse ## agonism ) at beta_1 ##adrenergic receptors 替换操作:将字符串中 所有括号 内的 ##替换成 @ 处理结果: Medical Care ( Costs Inverse @ ago