영숫자가 아닌 문자에 문자열을 분할하려했거나 간단한 단어를 분리하려고했습니다. 즉시 내 마음에 온 접근 방식은 정규식을 사용하는 것입니다.PHP에서 영숫자가 아닌 문자열을 분할합니까? PHP의 기본 함수로 가능합니까?
예 :
$string = 'php_php-php php';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
하지만이 방법으로보고 두 가지 문제가있다.
- 네이티브 PHP 함수가 아니며 서버에서 실행되는 PCRE 라이브러리에 전적으로 의존합니다.
- 동등하게 중요한 문제는 내가 단어에 구두점이있는 경우 어떤
예 :이 뜻[{U}{S}{A}{men}{s}{vote}]
와 같은 문자열을 유출 그러나 내가 원하는 이제
$string = 'U.S.A-men's-vote';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
그것을[{U.S.A}{men's}{vote}]
로 그래서 내 질문은 다음과 같습니다.
- 어떻게 우리는 단어에 따라 그들을 쪼개었다?
- PHP 네이티브 함수로 또는 다른 방식으로 우리가 의존하지 않는 곳에서 할 수 있습니까?
감사
단어의 정의는 무엇입니까? 마침표는 허용됩니까?이 문장과 같은 내용은 무엇입니까? 그리고 나는 '나는 무엇에 관한 것인가? 이 정규식은 절대 사용하지 않지만 어쨌든 사용하겠습니다. " – LeonardChallis
"단어 "로 정의하는 내용에 따라 다릅니다. 'USA '를 단어로 사용하려면 단어 분리 기호가 아닌 공백으로 채워지지 않은 정지 표시가 필요합니다. 공백, 물음표, 쉼표, 콜론 등으로 나눌 수 있습니다. – LSerni
가능합니다. 문자열 (char by char)을 반복하고 char이 단어에 속하는지 아닌지에 상관없이 자신의 규칙을 적용하십시오. – Yoshi