php怎么利用正则排除字符串中的字符

两种方法:1、用preg_replace(),可执行正则表达式的搜索和替换,只需将字符串中匹配的字符替换为空字符即可,语法“preg_replace(正则, “”, $str)”。2、用preg_match_all(),可搜索字符串中所有和正则表达式匹配的结果,会将每次的匹配结果放在一个数组$array中,语法“preg_match_all(正则,$str,$array);”。

php怎么利用正则排除字符串中的字符

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

什么是正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式通过构建具有特定规则的模式,与输入的字符串信息比较,在特定的函数中使用从而实现字符串的匹配、查找、替换及分割等操作。

立即学习“PHP免费学习笔记(深入)”;

php利用正则过滤字符串

在php中,可以利用正则表达式过滤字符串,排除(删除)或者提取指定字符。

方法1、使用preg_replace()函数

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

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

登录后复制

表示搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换;可选参数 limit 用于设置最大可替换次数(默认值是-1,可无限制)。

示例:

<?php header('content-type:text/html;charset=utf-8');  $str ='0我是123456一段测试的字789符串0';echo "原字符串:".$str."
";$result = preg_replace("/[^0-9]/", "", $str);echo "过滤后字符串:".$result;?>

登录后复制

preg_replace(“/[^0-9]/”, “”, $str)的意思为匹配除了0~9间的数字以外的字符,并将这些字符替换为空字符(即删除这些字符),那么就只剩下数字字符了:

1.png

方法2:使用preg_match_all()函数

preg_match_all()函数可以搜索字符串中所有可以和正则表达式匹配的结果,是一个执行全局正则表达式匹配的函数,它的语法格式为:

preg_match_all($pattern, $subject [, &$matches [, $flags = PREG_PATTERN_ORDER [, $offset = 0 ]]])

登录后复制

$pattern    正则表达式    

$subject    进行匹配的字符串    

$matches    所有匹配结果(数组)    

preg_match_all() 将实现全部结果的匹配,如果想要匹配成功一次后停止匹配,需要使用 preg_match() 函数。

示例:

<?php header('content-type:text/html;charset=utf-8');  $str ='0我是123456一段测试的字789符串0';echo "原字符串:".$str."

";$result = '';preg_match_all('/d+/',$str,$array);echo "过滤结果:";var_dump($array);foreach($array as $arr){foreach($arr as $value){$result .= $value;}}echo "过滤后字符串:".$result;?>

登录后复制

preg_match_all(‘/d+/’,$str,$array)的意思为在字符串$str中多次查找只包含0~9间数字字符的子串,将每次的匹配结果放在一个数组$array中。我们使用var_dump($array)来输出这个数组看看:

2.png

会发现结果数组$array是一个二维数组,包含匹配结果的元素是内层的数组。而想要将这些元素拼接成一个字符串,就需要嵌套两层foreach循环:

foreach($array as $arr){foreach($arr as $value){$result .= $value;}}echo "过滤后字符串:".$result;

登录后复制

3.png

推荐学习:《PHP视频教程》

以上就是php怎么利用正则排除字符串中的字符的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2074568.html

(0)
上一篇 2025年2月24日 08:27:28
下一篇 2025年2月23日 04:09:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php中字符串由什么组成的

    在php中,字符串就是连续的字符序列,由一系列的字符(数字,字母和符号)组成;字符串的每个字符只占用一个字节。PHP定义字符串的方法:1、用单引号进行定义,例“’abc’”;2、用双引号进行定义,例“”a…

    2025年2月24日
    200
  • php怎么去除字符串的相同项

    去除方法:1、用str_split()将字符串转为字符数组,语法“str_split(字符串)”;2、用array_unique()或array_flip()去除数组的相同项,语法“array_unique(字符数组)”或“array_fl…

    2025年2月24日
    200
  • php可以判断字符串是否是中文吗

    可以判断。判断方法:1、使用preg_match()函数配合正则来判断是否全是中文 ,语法“!preg_match(“/[^�-�]/i”,$str)”;2、使用preg_match()函数配合正则来判断是否包含中文…

    2025年2月24日 编程技术
    200
  • php怎么判断字符串是否含圆点

    3种方法:1、用stripos(),语法“stripos($str, “.”)”,返回位置值则包含。2、用strripos(),语法“strripos($str, “.”)”,返回位置值则包含…

    2025年2月24日 编程技术
    200
  • php怎么取字符串最后几位

    两种方法:1、使用substr()函数截取英文字符串后N位,只需要将该函数的第二个参数设置为“-N”,第三个参数省略即可,语法“substr($str,-N)”;2、使用mb_substr()函数截取中文字符串后N位,只需要将该函数的第二个…

    2025年2月24日 编程技术
    200
  • php可以直接输出字符串吗

    php可以直接输出字符串。PHP提供了多种字符串输出函数:1、echo(),可直接输出一个或多个字符串;2、print(),可直接输出一个或多个字符串;3、die()或exit(),可以输出一个消息并退出当前脚本;4、printf(),用于…

    2025年2月24日 编程技术
    200
  • php 怎么实现替换位置

    php实现替换位置的方法:1、创建一个php示例文件;2、通过strpos函数查找字符串中是否包含某个词组;3、使用substr_replace函数实现替换即可。 本教程操作环境:Windows10系统、PHP8.1版、Dell G3电脑。…

    2025年2月24日
    200
  • 怎么编译安装nginx和php

    编译安装nginx和php的方法:1、通过yum install命令安装依赖包;2、下载源码包并解压编译;3、修改虚拟主机配置文件;4、启动nginx并配置systemctl启动;5、下载php并解压编译即可。 本教程操作环境:window…

    2025年2月24日
    200
  • ubuntu php无法启动服务怎么办

    ubuntu php无法启动服务的解决办法:1、在php-fpm.conf里面设置错误日志;2、执行“/usr/sbin/php-fpm7.4 –fpm-config /etc/php/fpm/php-fpm.conf”命令;3…

    2025年2月24日
    200
  • 怎么用php语句实现分页

    用php语句实现分页的方法:1、创建php文件,建立数据库链接;2、获取数据的总数量;3、通过当前的页面的页数来获取上一页和下一页的参数;4、通过获取页面的参数来读出数据库中相应的数据;5、设置查看样式将数据显示在表格中即可。 本教程操作环…

    2025年2月24日 编程技术
    200

发表回复

登录后才能评论