이 함수는 주어진 값을 위생 처리하기위한 것이지만 값이 지정되지 않은 것처럼 "n-a"를 출력합니다. 그것은 가장 간단한 문제가되어야하지만 바로 지금이 순간 저를 이깁니다.PHP 함수가 값을 반환하지 않는 이유는 무엇입니까?
function slug($text){
// replace non letter or digits by -
$text = preg_replace('~[^pLd]+~u', '-', $text);
// trim
$text = trim($text, '-');
// transliterate
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// lowercase
$text = strtolower($text);
// remove unwanted characters
$text = preg_replace('~[^-w]+~', '', $text);
if (empty($text))
{
return 'n-a';
}
return $text;
}
일부 입력 사항을 부탁드립니다.
** 어디 ** 비어 되는가? 당신이 따라갈 때 변수를 버리려고 했습니까? (대체 후, 트림 후, strtolower 후, 두 번째 치환 후) – h2ooooooo
'$ text = preg_replace ('~ [^ - w] + ~', '', $ text);''-' 및' w'. 당신의 문자열에는'-' 또는'w'가 없다고 생각합니다. 그래서 빈 문자열이 나옵니다. 여기 정규식을 다시 작성하려고 시도하십시오 – krishna