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

Форум PHP

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

 

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

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

тема: Подсчет количества символов
 
 автор: koder_lis   (18.06.2009 в 14:54)   письмо автору
 
 

Как правильно посчитать количевство символов в строке, если строка содержит такие спецсиволы
" « »  

т.е. функция strlen считает например кавычку такую за 7 символов, а мне нужно за 1

кодировка у меня koi8-r

  Ответить  
 
 автор: Diplex   (18.06.2009 в 15:04)   письмо автору
 
   для: koder_lis   (18.06.2009 в 14:54)
 

Брать текст в переменную, менять(заменять) в нём все символы на нужные, просчитывать. Потом обратно менять символы в нужный вид.

  Ответить  
 
 автор: ols   (18.06.2009 в 15:18)   письмо автору
 
   для: koder_lis   (18.06.2009 в 14:54)
 

Функция html_entity_decode преобразует HTML сущности в соответствующие символы

  Ответить  
 
 автор: koder_lis   (18.06.2009 в 15:44)   письмо автору
 
   для: ols   (18.06.2009 в 15:18)
 

да но тогда после
$Text = " « текст »";
$Text = html_entity_decode($Text); 
echo $Text;
выводятся такие символы вместо кавычек -
╩

  Ответить  
 
 автор: ols   (18.06.2009 в 16:14)   письмо автору
 
   для: koder_lis   (18.06.2009 в 15:44)
 

Странно, у меня все работает правильно.

  Ответить  
 
 автор: koder_lis   (18.06.2009 в 15:58)   письмо автору
 
   для: koder_lis   (18.06.2009 в 14:54)
 

а если устанавливаю указываю кодировку то ничего не проиходит
вот код:

 $Text = " « текст »";
 $countA =  strlen($Text);
 $Text = html_entity_decode($Text,  ENT_COMPAT, 'KOI8-R');
 $countB =  strlen($Text);
 echo $countA."<br />".$Text."<br />".$countB;


результат исходного кода:


22<br /> &laquo; текст &raquo;<br />22

  Ответить  
 
 автор: koder_lis   (22.06.2009 в 10:17)   письмо автору
 
   для: koder_lis   (18.06.2009 в 15:58)
 

никак не могу найти причину...

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

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