Home >Backend Development >PHP Problem >How to implement regular replacement content in php

How to implement regular replacement content in php

青灯夜游
青灯夜游Original
2022-04-27 16:58:267048browse

php正则替换内容的方法:1、用preg_replace(),可执行正则表达式的搜索和替换,语法“preg_filter (正则式,替换值,数据)”;2、用preg_filter(),语法“preg_filter(正则式,替换值,数据)”。

How to implement regular replacement content in php

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在php中,可以使用下面两个函数来实现正则替换内容(字符串)

  • preg_replace():执行一个正则表达式的搜索和替换

  • preg_filter():执行一个正则表达式的搜索和替换

1、使用preg_replace()函数

preg_replace() 函数可以执行正则表达式的搜索和替换,是一个强大的字符串替换处理函数。语法格式:

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

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

参数说明:

  • $pattern: 要搜索的模式,可以是字符串或一个字符串数组。

  • $replacement: 用于替换的字符串或字符串数组。

  • $subject: 要搜索替换的目标字符串或字符串数组。

  • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

  • $count: 可选,为替换执行的次数。

返回值

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

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

示例1:将 hello 替换为 phpcn

<?php
$string = &#39;hello 123, 456&#39;;
$pattern = &#39;/(\w+) (\d+), (\d+)/i&#39;;
$replacement = &#39;phpcn ${2},$3&#39;;
echo preg_replace($pattern, $replacement, $string);
?>

How to implement regular replacement content in php

示例2:删除空格字符

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;欢  迎  来 到 p h p 中 文 网&#39;;
$str = preg_replace(&#39;/\s+/&#39;, &#39;&#39;, $str);
// 将会改变为&#39;欢迎来到php中文网&#39;
echo $str;
?>

How to implement regular replacement content in php

2、使用preg_filter()函数

preg_filter() 函数也用于执行一个正则表达式的搜索和替换,等价于preg_replace() 函数;不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。

示例:比较preg_filter() 和preg_replace()

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$subject = array(&#39;1&#39;, &#39;a&#39;, &#39;2&#39;, &#39;b&#39;, &#39;3&#39;, &#39;A&#39;, &#39;B&#39;, &#39;4&#39;); 
$pattern = array(&#39;/\d/&#39;, &#39;/[a-z]/&#39;, &#39;/[1a]/&#39;); 
$replace = array(&#39;A:$0&#39;, &#39;B:$0&#39;, &#39;C:$0&#39;); 
 
echo "preg_filter 返回值:";
var_dump(preg_filter($pattern, $replace, $subject)); 
 
echo "preg_replace 返回值:";
var_dump(preg_replace($pattern, $replace, $subject)); 
?>

How to implement regular replacement content in php

推荐学习:《PHP视频教程

The above is the detailed content of How to implement regular replacement content in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn