찾다

 >  Q&A  >  본문

php는 문자열의 모든 기호나 공백을 "-"로 바꿉니다.

단어 문자열의 모든 기호나 공백을 "-"로 어떻게 바꿀 수 있나요?
포함,? @%! $&*(뭐든)

PHPzPHPz2753일 전574

모든 응답(3)나는 대답할 것이다

  • 習慣沉默

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

    $result = preg_replace('/[^w]|[_]/', '-', $str);
    영숫자가 아닌 문자를 일치시키고 바꿉니다.
    w에는 _가 포함됩니다. 모두 바꾸려면 |[_]를 추가하세요. $result = preg_replace('/[^w]|[_]/', '「-」', $str);
    匹配替换非字母数字并替换。
    w包括_,如果想一并替换掉,再添加上 |[_]


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

    댓글 답글:
    중국어, 영어 이외의 문자를 바꾸고 싶다면 패턴을 다음 형식으로 변경하세요:
    /[^bA-Za-zx{4e00}-x{9fa5} ]/u
    b는 공백을 나타냅니다.
    u4e00-u9fa5는 중국어를 유니코드로 표현한 것이지만 preg_replace는 u<의 쓰기 방법을 지원하지 않습니다. /code>에서 < code>x{XXXX}를 사용할 수 있습니다.
    마지막으로 u 옵션을 사용하여 utf-8 문자 집합이 사용됨을 나타냅니다. 🎜

    회신하다
    0
  • 伊谢尔伦

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

    removeXss()를 호출하세요

    회신하다
    0
  • 迷茫

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

    preg_replace는 한 가지 방법입니다. 여기서는 다른 방법을 제공합니다. 아래 코드를 참조하세요

    으아악

    회신하다
    0
  • 취소회신하다