php正则表达式函数preg_replace()

php正则表达式函数

preg_replace()

preg_replace( mixed $pattern, mixed $replacement, mixed $subject[, int $limit = -1[, int &$count]] ) : mixed
// — 执行一个正则表达式  进行搜索和替换

搜索subject中匹配pattern的部分,以replacement进行替换

如果subject是一个数组, preg_replace()返回一个数组,其他情况下返回一个字符串。

如果匹配被查找到,替换后的subject被返回,其他情况下返回没有改变的 subject。如果发生错误,返回 NULL 。

  • 要搜索的模式。可以是一个字符串或字符串数组。
  • 用于替换的字符串或字符串数组。
  • 要进行搜索和替换的字符串或字符串数组。
  • 每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。
  • 如果指定,将会被填充为完成的替换次数。

传递三个参数

$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
// April1,2003

使用数组

$string = 'The quick brown fox jumps over the lazy dog.';
$patterns = [
    '/quick/'
    ,'/brown/'
    ,'/fox/'
];
$replacements = [
    'bear'
    ,'black'
    ,'slow'
];
echo preg_replace($patterns, $replacements, $string);
// The bear black slow jumps over the lazy dog.

使用limit参数

$pattern = ['/\d/', '/\s/'];
$repalcements = '*';
$subject = 'xp 4 to';
$count = 0;

echo preg_replace($pattern, $repalcements, $subject, -1 , $count);
// xp***to
echo $count; 
// 3 代表替换了3次

使用$limit参数

$pattern = ['/\d/', '/\s/'];
$repalcements = '*';
$subject = 'xp 4 to';
$limit = 1;
$count = 0;

echo preg_replace($pattern, $repalcements, $subject, $limit, $count);
// xp***to
echo $count; 
// 2 代表替换了2次

你可能感兴趣的:(php正则表达式函数preg_replace())