📅  最后修改于: 2023-12-03 15:18:20.784000             🧑  作者: Mango
preg_replace
是 PHP 中用于正则表达式替换的函数,可以实现在字符串中搜索匹配正则表达式的文本并替换为指定的文本。
在处理字符串时,有时需要把字符串中的一些空格(包括空格、制表符、换行符等)去掉或替换成其他字符。preg_replace
函数提供了多种方式来实现这个目的。
preg_replace
函数的基本使用方法如下:
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed
$pattern
:用于匹配的正则表达式。$replacement
:用于替换的文本串或函数。$subject
:需要进行替换的字符串。$limit
:可选参数,限定替换的次数,默认为 -1,表示替换所有匹配到的文本。$count
:可选参数,存储替换次数的变量。下面是一些常用的操作:
$str = ' test ';
$trimmed = preg_replace('/^\s+|\s+$/','',$str);
echo $trimmed; // 输出 'test'
解释:
\s
是匹配任意空白字符的元字符。^
匹配字符串开始,在此表示匹配字符串开头的任意空白字符。$
匹配字符串结尾,在此表示匹配字符串末尾的任意空白字符。+
表示匹配前面的元素一次或多次。$str = 't e s t';
$trimmed = preg_replace('/\s+/','',$str);
echo $trimmed; // 输出 'test'
解释:
\s
是匹配任意空白字符的元字符。+
表示匹配前面的元素一次或多次。$str = 't e s t';
$trimmed = preg_replace('/\s+/','_',$str);
echo $trimmed; // 输出 't_e_s_t'
解释:
\s
是匹配任意空白字符的元字符。+
表示匹配前面的元素一次或多次。$str = 't e s t';
$trimmed = preg_replace('/\s+/',' ',$str);
echo $trimmed; // 输出 't e s t'
解释:
\s
是匹配任意空白字符的元字符。+
表示匹配前面的元素一次或多次。$str = "te\tst\r\n";
$trimmed = preg_replace('/[ \t\r\n]+/','',$str);
echo $trimmed; // 输出 'test'
解释:
[ \t\r\n]
是匹配空格、制表符和换行符的字符集。+
表示匹配前面的元素一次或多次。preg_replace
函数返回的是替换后的字符串,如果没有匹配到任何字符串,返回的就是原字符串。\
在前面进行转义。