suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PHP ersetzt alle Symbole oder Leerzeichen im String durch „-“

Wie kann ich alle Symbole oder Leerzeichen in einer Wortfolge durch „-“ ersetzen?
Einschließlich,? @%! $&*(was auch immer)

PHPzPHPz2750 Tage vor569

Antworte allen(3)Ich werde antworten

  • 習慣沉默

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

    $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字符集。

    Antwort
    0
  • 伊谢尔伦

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

    调用一下 removeXss()

    Antwort
    0
  • 迷茫

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

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

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

    Antwort
    0
  • StornierenAntwort