은 어떻게이URL에 대문자가 하나 이상 있는지 확인하는 정규식 코드 란 무엇입니까? (PHP) 현서 목적
에 같은 것을에서 코드의 라인을 변경하도록 지시했다 최소 1 개의 대문자가 있는지를 탐지하는 코드 행 r은 ur?
... 서구 일관성. Regex가 아마도 가장 효율적인 방법이라는 것을 알지만 Regex에 대해서는 경험이별로 없습니다.
은 어떻게이URL에 대문자가 하나 이상 있는지 확인하는 정규식 코드 란 무엇입니까? (PHP) 현서 목적
에 같은 것을에서 코드의 라인을 변경하도록 지시했다 최소 1 개의 대문자가 있는지를 탐지하는 코드 행 r은 ur?
... 서구 일관성. Regex가 아마도 가장 효율적인 방법이라는 것을 알지만 Regex에 대해서는 경험이별로 없습니다.
if (preg_match('/[A-Z]/', $url)) {
... has one upper case char ...
} else {
... no uppercase chars at all ...
}
완벽한 - 감사합니다. –
정규식은 최선의 방법이 아닙니다. 왜 strtolower를 사용하지 않습니까?
그것은 네거티브 리디렉션 루프를 유발할 수 있습니다. –
parse_url(), strtolower()를 실행 한 다음 http_build_url()을 사용하여 url을 다시 작성하십시오. 자세한 지시 사항처럼 보이지만 regexp보다 깔끔합니다. –
+1 정규식은 비용이 많이 들며 가능할 때마다 특히 작은 작업에는 사용하지 않는 것이 좋습니다. – Mahn
당신은 정규식 필요가 없습니다의
function hasUpper($x)
{
return strtolower($x)!=$x;
}
가능한 중복 [방법 :
을 문자열이 동일는 소문자 것없는 자신을 않는 경우, 적어도 하나의 대문자 문자가 있습니다 문자열에 PHP에서 대문자가 1 개 포함되어 있는지 검색] (http://stackoverflow.com/questions/4426327/how-to-detect-if-string-contains-1-uppercase-letter-in-php) – Greg
항상 그렇기 때문에 소문자로 쓰고 싶다면 소문자가 아닌지 왜 말해야할까요? 그것은 관계없이, 훨씬 더 깔끔하고 코드의 한 줄을 strtolower한다. – tobyodavies
좋은 지적 - 나는 이것을하기 전에해야만했다. –