Используя PHP / MySQL, все закодированные как UTF, нам недавно пришлось начинать сбор нелатинских символов, таких как китайский и т. Д. У нас есть проверка PHP, которая проверяет длину строки и буквенно-цифровые значения, такие как:
if (!ereg("[[:alnum:]]{2,}",$_POST['company_name'])) {
//error code here
}
Это не работает с многобайтовыми символами.Я понимаю, что длина является проблемой (один символ не равен одному байту), но я надеялся, что кто-то может предоставить ссылку / решение для сопоставления строки только для символов языка UTF8, НЕТ специальных символов, таких как [*/
и т. Д.
РЕДАКТИРОВАТЬ: я хочу принять только строку длиной xx, которая содержит только языковые символы alebit английский / китайский и т. Д., А НЕ какие-либо специальные символы *{/
и т. Д. Надеюсь, это прояснит.