cari

Rumah  >  Soal Jawab  >  teks badan

php menggantikan semua simbol atau ruang dalam rentetan dengan "-"

Bagaimana saya boleh menggantikan semua simbol atau ruang dalam rentetan perkataan dengan "-"
Termasuk,? @%! $&*(apa sahaja)

PHPzPHPz2753 hari yang lalu575

membalas semua(3)saya akan balas

  • 習慣沉默

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

    $result = preg_replace('/[^w]|[_]/', '『-』', $str);
    Padankan dan gantikan aksara bukan abjad angka.
    w termasuk _ Jika anda mahu menggantikan semuanya, tambah |[_]. $result = preg_replace('/[^w]|[_]/', '「-」', $str);
    匹配替换非字母数字并替换。
    w包括_,如果想一并替换掉,再添加上 |[_]


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


    Balas ulasan:
    Jika anda ingin menggantikan aksara selain bahasa Cina dan Inggeris, tukar corak kepada bentuk berikut:
    /[^bA-Za-zx{4e00}-x{9fa5} ]/u
    b mewakili ruang;
    u4e00-u9fa5 ialah representasi bahasa Cina dalam unicode, tetapi preg_replace tidak menyokong kaedah penulisan u< /code>, anda boleh menggunakan < code>x{XXXX};
    Akhir sekali, gunakan pilihan u untuk menunjukkan bahawa set aksara utf-8 digunakan. 🎜

    balas
    0
  • 伊谢尔伦

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

    Panggil removeXss()

    balas
    0
  • 迷茫

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

    preg_replace adalah satu kaedah, di sini saya menyediakan kaedah lain, lihat kod di bawah

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

    balas
    0
  • Batalbalas