Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчет символов
 
 автор: Gen-ID   (08.12.2014 в 23:45)   письмо автору
 
 

Вечер добрый.
Не могу сообразить алгоритм для такой задачи:
необходима функция которая бы выдавала Y если передаваемый ей текст на более 20% состоит из латиницы, и N - если до 20.

Какое вижу решение:
1. получить общее число символов (без учета перевода строки, "чистый" текст)
2. посчитать число исключительно латиницы (насколько помню с кириллицей проблемы в php)
3. а дальше уже просто математика.

но что-то кажется упускаю...
прошу подсказать все ли верно.

  Ответить  
 
 автор: lightning.say   (09.12.2014 в 02:23)   письмо автору
 
   для: Gen-ID   (08.12.2014 в 23:45)
 

по-моему регулярные выражения больше подходят для решения задачи

$str = 'бла bla бла bla бла';

$kir = preg_replace('/[^А-Яа-яЁё]/', '', $str);
$lat = preg_replace('/[^a-z]/i', '', $str);



а дальше сравнивать mb_strlen($kir) и mb_strlen($lat)

  Ответить  
 
 автор: confirm   (09.12.2014 в 02:37)   письмо автору
 
   для: Gen-ID   (08.12.2014 в 23:45)
 

>насколько помню с кириллицей проблемы в php

Нет в РНР проблем с кириллицей, есть ASCII код и набор функций РНР для работы с такими строками, есть многобайтные строки, для которых свои инструменты. Выберите нужное исходя из своей кодировки. Искать то или иное придется рег. выражением, и там проблем нет с кодировкой.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования