搜尋

首頁  >  問答  >  主體

php 把字串的所有符號或空白換成 「-」

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

PHPzPHPz2828 天前622

全部回覆(3)我來回復

  • 習慣沉默

    習慣沉默2017-05-16 13:18:12

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


    回評論:
    如果想替換中英文以外的其他字元的話,pattern改為下列形式:
    /[^bA-Za-zx{4e00}-x{9fa5}]/u /[^bA-Za-zx{4e00}-x{9fa5}]/u
    b 表示空格;
    u4e00-u9fa5是unicode里中文的表示法,但preg_replace不支持u的写法,可以使用 x{XXXX}来替代;
    最后使用ub 表示空格;

    u4e00-u9fa5是unicode裡中文的表示法,但preg_replace不支援u的寫法,可以使用x{XXXX}來替代;🎜最後使用u選項來表示用的是utf-8字元集。 🎜

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:18:12

    呼叫一下 removeXss()

    回覆
    0
  • 迷茫

    迷茫2017-05-16 13:18:12

    preg_replace是一種方法,這裡我提供另外一種方法,參考下面程式碼

        $str = 'hello %abc?11';
        $patten = array(
            '【',
            '】',
            '「',
            '?',
            '%',
            '&'
        );
    
        $rs = str_replace(' ','',str_replace($patten,'「-」',$str));
        echo $rs;

    回覆
    0
  • 取消回覆