php 把字串的所有符號或空白換成 「-」
PHPz
PHPz 2017-05-16 13:16:12
[PHP讨论组]

請問如何把一串字的所有符號或空白都替換成 「-」呢
包括,?@%!$&*(什麼的)

PHPz
PHPz

学习是最好的投资!

全部回复(3)
習慣沉默

$result = preg_replace('/[^\w]|[_]/', '「-」', $str);
匹配替换非字母数字并替换。
\w包括_,如果想一并替换掉,再添加上 |[_]


回评论:
如果想替换除中英文外的其他字符的话,pattern改为下列形式:
/[^\bA-Za-z\x{4e00}-\x{9fa5}]/u
b 表示空格;
\u4e00-\u9fa5是unicode里中文的表示法,但preg_replace不支持\u的写法,可以使用 \x{XXXX}来替代;
最后使用u选项来表示用的是utf-8字符集。

伊谢尔伦

调用一下 removeXss()

迷茫

preg_replace是一种方法,这里我提供另外一种方法,参看下面代码

    $str = 'hello %abc?11';
    $patten = array(
        '【',
        '】',
        '「',
        '?',
        '%',
        '&'
    );

    $rs = str_replace(' ','',str_replace($patten,'「-」',$str));
    echo $rs;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号