实现步骤:1、利用preg_match_all()函数配合正则表达式来过滤字符串,只保留英文字母,语法“preg_match_all("/[a-zA-Z]/u","$str",$arr);”,字母会存入“$arr”数组中;2、使用implode()函数将结果值拼接成一个新字符串即可,语法“implode($arr[0])”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在php中,可以利用preg_match_all()函数和implode()函数来让字符串中只有字母。
实现步骤:
步骤1:利用preg_match_all()函数配合正则表达式来过滤字符串,只保留英文字母
preg_match_all()函数匹配字符串中所有出现的模式。
preg_match_all (pattern , subject ,matches,flags,offset);
pattern::要搜索的模式,字符串形式。
subject:输入字符串。
matches:多维数组,作为输出参数输出所有匹配结果, 数组排序通过flags指定。
flags:数组结果排序,可以结合下面的几个标记使用
offset: 通常, 查找时从目标字符串的开始位置开始。(单位为字节)
<?php header("Content-type:text/html;charset=utf-8"); $str = "php.cn23v457zblog,?#$%^&())*(&^"; echo "原字符串:"; var_dump($str); preg_match_all("/[a-zA-Z]/u","$str",$arr); var_dump($arr); ?>
可以看出,结果是一个二维数组。
所需要的英文字母在内部的子数组$arr[0]
中,将其转为字符串即可。
步骤2:使用implode()函数将结果值拼接成一个字符串
implode() 函数可以将一个一维数组转化为字符串。语法如下:
implode($glue,$arr)
参数 | 描述 |
---|---|
$glue | 可选。用来设置一个字符串,表示使用 $glue 将数组每个元素连接在一起,默认情况下 $glue 为空字符串。 |
$arr | 必需。要组合为字符串的数组。 |
implode() 函数会返回一个由数组元素和“$glue”字符组合成的字符串。
<?php header("Content-type:text/html;charset=utf-8"); $str = "php.cn23v457zblog,?#$%^&())*(&^"; echo "原字符串:"; var_dump($str); preg_match_all("/[a-zA-Z]/u","$str",$arr); var_dump($arr); $newStr=implode($arr[0]); echo "处理后的字符串:"; var_dump($newStr); ?>
推荐学习:《PHP视频教程》
以上是php字符串怎么只保留字母的详细内容。更多信息请关注PHP中文网其他相关文章!