首页 >后端开发 >PHP问题 >php字符串怎么只保留字母

php字符串怎么只保留字母

青灯夜游
青灯夜游原创
2022-08-29 19:44:002835浏览

实现步骤:1、利用preg_match_all()函数配合正则表达式来过滤字符串,只保留英文字母,语法“preg_match_all("/[a-zA-Z]/u","$str",$arr);”,字母会存入“$arr”数组中;2、使用implode()函数将结果值拼接成一个新字符串即可,语法“implode($arr[0])”。

php字符串怎么只保留字母

本教程操作环境: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);
?>

1.png

可以看出,结果是一个二维数组。

所需要的英文字母在内部的子数组$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);
?>

2.png

推荐学习:《PHP视频教程

以上是php字符串怎么只保留字母的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn