[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кирилицы и Латиницы.
Ramzil_Nixon
Можно ли Как-нибудь ьез регулярок, определить на кирилице или на латинице ли введенный текст?



Спустя 3 часа, 2 минуты (16.12.2011 - 13:24) Winston написал(а):
Можно. Смотри пример.

Спустя 7 часов, 26 минут, 46 секунд (16.12.2011 - 20:51) Ramzil_Nixon написал(а):
Winston, а где смотреть то?smile.gif

Спустя 4 минуты, 30 секунд (16.12.2011 - 20:55) Игорь_Vasinsky написал(а):
ну этж функция для опрееления кодировки...

те надо a-z и а-яё а может быть и то и то.. куда тя несёт опять.. чё с блогом то?

Спустя 35 минут, 52 секунды (16.12.2011 - 21:31) Ramzil_Nixon написал(а):
Игорь_Vasinsky, вот при написании его и проблема. если текст ввести с кирилицами можно ввести 10тыс символов. а с латиницами 20тыс. хотелось бы что бы оба были по 10000

Спустя 4 минуты, 47 секунд (16.12.2011 - 21:36) Игорь_Vasinsky написал(а):
стой стой стой.. вобще не понял...

if(preg_match("#a-z#"i, $text))
$lat = true;

if(preg_match("#а-яё#"i, $text))
$cyr = true;


if($lat === true AND $cyr === true)
echo "Оба варианта присутствуют";
elseif($lat === true AND !$cyr)
echo "Одна кирилица!";
elseif(!$lat AND $cyr === true)
echo "Одни буржуйские!!";

Спустя 2 минуты, 57 секунд (16.12.2011 - 21:39) Ramzil_Nixon написал(а):
Игорь_Vasinsky
Пользователь введет текст. если кирилицами то 10 тыс символов. если латиницами то 20тыс может ввести

Спустя 13 минут, 8 секунд (16.12.2011 - 21:52) Игорь_Vasinsky написал(а):
блин. я не понимаю нефига.

Спустя 5 минут, 30 секунд (16.12.2011 - 21:58) Ramzil_Nixon написал(а):
Esli tekst vvedet tak, to mozno vesti 100 simvolov.

а если так введет, то всего 50 символов.


сейчас понятно? smile.gif

Спустя 3 минуты, 24 секунды (16.12.2011 - 22:01) Игорь_Vasinsky написал(а):
biggrin.gif причём здесь кол-во символов?


или ты про то что кирилица - это однобайтовая кодировка, а литинский 2х ???

подсчитай c mb_strlen()

Спустя 23 минуты, 34 секунды (16.12.2011 - 22:25) Ramzil_Nixon написал(а):
Давай объясню подробнее.

Идет текст из формы:

$text = $_POST['text'];


Далее считаю количество введенных символов:

if(mb_strlen($text) > 100) // Считаем количество символов. Если их больше 100, пишем ошибку, и прерываем в дальнейшем создание записи
{
$error['error'] = 'Ваш текст превышает лимит. Разрешено 100 символов';
}


Ну беда в том что если, текст введен английскими буквами все правильно, пользователь может ввести 100 символов, но если пишет русскими буквами, то он может ввести только 50.

Теперь понятно? :)

Спустя 4 минуты, 53 секунды (16.12.2011 - 22:30) Игорь_Vasinsky написал(а):
Цитата
mb_strlen() возвращает количество символов в строке str, имеющих кодировку символов encoding. Многобайтный символ вычисляется как 1.


не может быть. все символы считаются по 1

Спустя 3 минуты, 6 секунд (16.12.2011 - 22:33) dadli написал(а):
Ramzil_Nixon
если ти йсплзуеш утф-8 то сделаи так
if(mb_strlen($text,'utf-8') > 100)
и уже количество и латин и кирилци символов будит ровни

Спустя 40 секунд (16.12.2011 - 22:33) Игорь_Vasinsky написал(а):
да.

Спустя 3 минуты, 36 секунд (16.12.2011 - 22:37) Ramzil_Nixon написал(а):
Цитата (dadli @ 16.12.2011 - 19:33)
Ramzil_Nixon
если ти йсплзуеш утф-8 то сделаи так
if(mb_strlen($text,'utf-8') > 100)
и уже количество и латин и кирилци символов будит ровни


Благодорю smile.gif

Цитата (Игорь_Vasinsky @ 16.12.2011 - 19:33)
да.


Так ты наконец понял что я хотел сделать? smile.gif

Спустя 2 минуты, 33 секунды (16.12.2011 - 22:39) Игорь_Vasinsky написал(а):
да. просто сначала вопрос как то звучал так: как определить кирилица или латинский в тексте biggrin.gif

Спустя 16 минут, 58 секунд (16.12.2011 - 22:56) Ramzil_Nixon написал(а):
Игорь_Vasinsky, это я с телефона лежал тогда biggrin.gif

Спустя 50 секунд (16.12.2011 - 22:57) Игорь_Vasinsky написал(а):
biggrin.gif программист блин.

Спустя 49 секунд (16.12.2011 - 22:58) johniek_comp написал(а):
а что за блог?

Спустя 5 минут, 41 секунда (16.12.2011 - 23:04) Игорь_Vasinsky написал(а):
уф. моё ТЗ.

Спустя 27 секунд (16.12.2011 - 23:04) Ramzil_Nixon написал(а):
johniek_comp, просто тестовый, попробую писать просто

Спустя 1 минута, 1 секунда (16.12.2011 - 23:05) Ramzil_Nixon написал(а):
Игорь_Vasinsky, интернет мне не часто попадается biggrin.gif, Приходиться с телефона вытащить информацию smile.gif

Спустя 1 минута, 27 секунд (16.12.2011 - 23:07) johniek_comp написал(а):
Игорь_Vasinsky
Которое и мне дал?

Спустя 57 секунд (16.12.2011 - 23:08) Игорь_Vasinsky написал(а):
ааа.. для программиста - интернет это воздух.

тогда запасайся мануалами. иначе можно застопориться.

да - то двиг блога. простенького блога.

Спустя 4 минуты, 15 секунд (16.12.2011 - 23:12) Ramzil_Nixon написал(а):
johniek_comp
Цитата (johniek_comp @ 16.12.2011 - 20:07)
Игорь_Vasinsky
Которое и мне дал?


Я 2 дня назад с нуля начал, не помню, что я именно тебе дал


Цитата (Игорь_Vasinsky @ 16.12.2011 - 20:08)
ааа.. для программиста - интернет это воздух.

тогда запасайся мануалами. иначе можно застопориться.

да - то двиг блога. простенького блога.


У меня тут за полторы месяца столько исходников и мануалов собрался, что можно без инета работать smile.gif Ну и в голове еще что то есть smile.gif

Спустя 10 минут, 27 секунд (16.12.2011 - 23:22) johniek_comp написал(а):
Ramzil_Nixon
Много написал уже? ТЗ выполнил?

Спустя 2 минуты, 13 секунд (16.12.2011 - 23:25) Игорь_Vasinsky написал(а):
johniek_comp
я вас перепутал ))))))))))))) говорю же - близнецы блин.

Спустя 2 минуты, 16 секунд (16.12.2011 - 23:27) Ramzil_Nixon написал(а):
А что такое ТЗ? blink.gif

Спустя 2 минуты (16.12.2011 - 23:29) johniek_comp написал(а):
Ramzil_Nixon
Техническое задание, т.е. задание программисту - тебе.

Спустя 1 минута, 5 секунд (16.12.2011 - 23:30) Ramzil_Nixon написал(а):
johniek_comp
А нет еще. где то примерно на 4% выполнил

Спустя 1 минута, 47 секунд (16.12.2011 - 23:32) Игорь_Vasinsky написал(а):
да стойте. я поручил техническое задание (ТЗ) - johniek_comp
написание движка для простого блога.

просто я вас спутал biggrin.gif

Спустя 34 секунды (16.12.2011 - 23:32) johniek_comp написал(а):
Ramzil_Nixon
А какое ТЗ, что там быть то должно?

Спустя 31 секунда (16.12.2011 - 23:33) Ramzil_Nixon написал(а):
			if(mb_strlen($_POST['status'], 'utf-8') <= $statusNum)
{
$StatusStatus = $MesArray['NeStatus']; // Объявляем статус
}
else
{
$Message = $MesArray['LimitStatus']; // Превышен лимит
}


Если пишу так, то все равно даже если превышен лимит обявляет об успешной операции, то есть выполняется это:

$StatusStatus = $MesArray['NeStatus'];


а если убрать utf-8 то начинает работать, вывод, такой метод не подходит

Спустя 39 секунд (16.12.2011 - 23:33) johniek_comp написал(а):
Цитата
да стойте. я поручил техническое задание (ТЗ) - johniek_comp
написание движка для простого блога.

просто я вас спутал 


а что тогда пишет ТС данной темы?

Спустя 55 секунд (16.12.2011 - 23:34) Игорь_Vasinsky написал(а):
вместо utf-8 - свою кодировку.

Спустя 1 минута, 22 секунды (16.12.2011 - 23:36) johniek_comp написал(а):
Ramzil_Nixon
значить ставь не ютф, а ту которая у тебя там

Спустя 32 секунды (16.12.2011 - 23:36) Ramzil_Nixon написал(а):
Цитата (Игорь_Vasinsky @ 16.12.2011 - 20:32)
да стойте. я поручил техническое задание (ТЗ) - johniek_comp
написание движка для простого блога.

просто я вас спутал


Ааа, а я думаю кто мне поручил biggrin.gif Ну я конечно взялся по советом которые дали тут smile.gif

Цитата (Игорь_Vasinsky @ 16.12.2011 - 20:34)
вместо utf-8 - свою кодировку.


у меня именно это кодировка и стоит

Спустя 3 минуты, 16 секунд (16.12.2011 - 23:40) johniek_comp написал(а):
тогда так попробуй
mb_internal_encoding("UTF-8");

if(mb_strlen($_POST['status'], 'utf-8') <= $statusNum)
{
$StatusStatus = $MesArray['NeStatus']; // Объявляем статус
}
else
{
$Message = $MesArray['LimitStatus']; // Превышен лимит
}

Спустя 1 минута, 36 секунд (16.12.2011 - 23:41) Ramzil_Nixon написал(а):
Цитата (johniek_comp @ 16.12.2011 - 20:40)
тогда так попробуй

по прежнему ничего не изменилаась

Спустя 24 секунды (16.12.2011 - 23:42) Игорь_Vasinsky написал(а):
<?php
echo mb_strlen('asdewq', 'utf-8')."<br />";
echo mb_strlen('фыввыф', 'utf-8');
?>


вывод
6
6


_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.