URL을위한 슬러그를 만들려고합니다. 나는이 문자열에서 세 문자보다 작은 단어를 제거 할PHP : 단어에서 독일어 문자를 무시하고 문자열에서 작은 단어를 제거하십시오.
$kw='Test-Tes-Te-T-Schönheit-Test';
:
나는 다음과 같은 테스트 문자열이 있습니다.
그래서, 나는 출력이 코드 시도
$kw='test-tes-schönheit-test';
할 것을 권장합니다
$kw = strtolower($kw);
$kw = preg_replace("/\b[^-]{1,2}\b/", "-", $kw);
$kw = preg_replace('/-+/', '-', $kw);
$kw = trim($kw, '-');
echo $kw;
을하지만 결과는 다음과 같습니다 그래서
test-tes-sch-nheit-test
, 독일의 문자 ö 문자열 에서 제거되고 독일어 단어 Schönheit이 두 단어로 취급됩니다.
해결 방법을 제안하십시오.
대단히 감사합니다.
안녕하세요, Mario, 당신이 쓴 : 나는 preg_replace_callback 또는/e btw를 사용하고 대신 [A-Z]를 검색하여 대체합니다. 그리고 대시를위한 strtr 또는 연속하는 것을 붕괴시키기위한 [+ +] +. 어떻게 보여 주시겠습니까? 감사. – Arnold