1
주어진 문자열이 라틴어인지 또는 페르시아어와 같은 다른 비 라틴 문자가 들어 있는지 확인하기 위해 다음 코드를 작성했습니다.라틴 문자 만 일치 시키려면 RegExp가 필요합니다.
$str = "Hello, What's up?"
아니면 페르시아 문자 (비 라틴어)도 포함하고 있기 때문에 두 번째 문자열을 false를 반환해야하지만
$str = "Hello, سلام"
: 문제는 항상 다음과 같은 문자열 모두에 대해 true를 돌려주는 것입니다 . 문자열이 지정한 해당 문자의
0 개 이상의이 포함 된 경우
$default_rule = "/[a-zA-Z0-9\(\)\*_\-\!\#\$\%\^\&\*\,\.\"\'\]\[]*/";
$rule = ($rule==null) ? $default_rule : $rule;
if(preg_match($rule, $str)==true)
{
// always returns true
}
감사합니다. 나는 semi-lazi match를했다 : D .... 당신의 대답은 많은 것들을 분명하게 만들었지 만 –
그는 모든 기본적인 ASCII 문자들을 원하지 않는다고 나쁘다 ... 테이블을 보면서, 나는 우리가 깔끔하게 갈 수 있음을 알았다.^[ - ~] + $':) +1 – zx81