定义和用法
preg_replace 执行一个正则表达式的搜索和替换
语法
- preg_replace (pattern ,replacement ,subject,limit,count )
参数 | 描述 |
---|---|
pattern | 正则表达式(字符串或字符串数组) |
replacement | 用于替换的字符串或字符串数组 |
subject | 要进行搜索和替换的字符串或字符串数组。 |
limit | 可选。每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。 |
cout | 可选。完成的替换次数 |
例子 1
- <?php
- $string = 'April 15, 2003';
- $pattern = '/(\w+) (\d+), (\d+)/i';
- $replacement = '${1}1,$3';
- // $1对应(\w+),${1}1是区别$11,说明是$1和1不是$11,$3对应(\d+)
- echo preg_replace($pattern, $replacement, $string);
- ?>
输出:
- April1,2003
例子 2
- <?php
- $patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/', '/^\s*{(w+)}\s*=/');
- $replace = array ('\3/\4/\1\2', '$\1 =');
- // \3对应(\d{1,2}),\4对应后一个(\d{1,2}),
- echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
- ?>
输出:
- $startDate = 5/27/1999
例子 3
- <?php
- // 把heigth高度属性删除,并添加width="100%"
- $str = '<div><p>12312321</p><img src="xx.jpg" height="213" /><span>111</span><img src="xz.jpg" /></div>';
- $str = preg_replace("/height\=\"[0-9]+?\"/","",$str);
- $str1 = preg_replace("/src=\"(.+?)\"/","src=\"$1\" width=\"100%\"",$str);
- print_r($str1);