Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 21.05.2008, 16:39   #11
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

не совсем понятно при чем тут substr_count?

Цитата:
substr_count() returns the number of times the needle substring occurs in the haystack string. Please note that needle is case sensitive.
ahsinis вне форума   Ответить с цитированием
Старый 21.05.2008, 16:57   #12
Дикий
 
Аватар для D.iK.iJ
 
Регистрация: 02.06.2007
Адрес: <Noindex>
Сообщений: 2,551
Вес репутации: 356
D.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущее
По умолчанию

Цитата:
Сообщение от ahsinis Посмотреть сообщение
не совсем понятно при чем тут substr_count?
Правильно, переводим в нижний регистр и считаем количество раз, когда встречается упоминание кодировки
Знаю, можно лучше. Но не знаю как.
D.iK.iJ вне форума   Ответить с цитированием
Старый 21.05.2008, 18:35   #13
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

В смысле упоминание кодировки? Это перебирать все кодировки?
Вам собственно надо разобраться чего вы хотите, получить кодировку файла или найти кол-во подстрок в тексте.
ahsinis вне форума   Ответить с цитированием
Старый 22.05.2008, 08:04   #14
Специалист
 
Аватар для Kashey
 
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 218
Kashey - очень-очень хороший человекKashey - очень-очень хороший человекKashey - очень-очень хороший человекKashey - очень-очень хороший человек
По умолчанию

товарисчь.
давайте определимся - распространение в рунете получили только cp1251 и UTF-8
Упоминание о типе кодировки может передаваться в хидере, а может в meta
А может не передаваться, но тогда очень просто определить что есть что..
Почему?
Потому что UTF-8 имеет переменно длинную кодировку
тоесть
mb_strlen($content,"UTF-8")===strlen(iconv("UTF-8","cp1251",$content))
иначе это не утф..
__________________
Нужны новости? - На скане полмиллиона новостей. Всяко разных.
И как всегда это все ScanLog записывает
Kashey вне форума   Ответить с цитированием
Старый 22.05.2008, 15:12   #15
Дикий
 
Аватар для D.iK.iJ
 
Регистрация: 02.06.2007
Адрес: <Noindex>
Сообщений: 2,551
Вес репутации: 356
D.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Kashey Посмотреть сообщение
товарисчь.
давайте определимся - распространение в рунете получили только cp1251 и UTF-8
Упоминание о типе кодировки может передаваться в хидере, а может в meta
А может не передаваться, но тогда очень просто определить что есть что..
))) Спасибо еще раз. Что распространены cp1251 и UTF-8 - знаю. С ними и работаю в Интернете.
К сожалению, функцию mb_strlen($content,"UTF-8")===strlen(iconv("UTF-8","cp1251",$content)) использовать не получится. У Хостера iconv() что-то очень глючный
Про то как вытащить указание кодировки из мета - спрашивал уже. Пока ограничился этим:
PHP код:
$content=strtolower($content);
if (
substr_count($content"charset=utf-8")>=1){
$content=iconv("utf-8","CP1251",$content);

D.iK.iJ вне форума   Ответить с цитированием
Старый 22.05.2008, 16:04   #16
шайтанама
 
Аватар для shadx
 
Регистрация: 13.07.2007
Сообщений: 1,700
Вес репутации: 298
shadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущееshadx - прекрасное будущее
Отправить сообщение для shadx с помощью ICQ
По умолчанию

Про распространенные(UTF и 1251) я промолчу(коя еще никто не отменял )
А так тема сложная, до беспредела. Легче всего найти в инете самопальные функции для перекодировки документов. Так как на 90% коряво настроен php у хостера + разные библиотеки(тот же iconv) разные глюки.
shadx вне форума   Ответить с цитированием
Старый 22.05.2008, 16:39   #17
Особый статус
 
Регистрация: 23.03.2008
Адрес: localhost
Сообщений: 2,594
Вес репутации: 323
Ufaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущееUfaweb - прекрасное будущее
Отправить сообщение для Ufaweb с помощью ICQ
По умолчанию

Что-то все запутанно. Озучьте цель данных махинаций
Есть функция для конверта win и iso в utf
Цитата:
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i'); // win1251->iso8859-5
// iso8859-5->unicode:
for ($result='', $i=0; $i<strlen($s); $i++) {
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
Может пригодится?
А по поводу распознавания UTF-8 в метатеге Вам ведь правильно сказали - preg_match
Ufaweb вне форума   Ответить с цитированием
Старый 22.05.2008, 17:14   #18
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

Цитата:
Сообщение от D.iK.iJ Посмотреть сообщение
PHP код:
$content=strtolower($content);
if (
substr_count($content"charset=utf-8")>=1){
$content=iconv("utf-8","CP1251",$content);

D.iK.iJ
Это вместо того, чтобы просмотреть несколько первых байтов у тебя функция будет весь текст лопатить, причем два раза сначала strtolower, потом substr_count.
Тогда уж проще использовать stripos, если тебе регулярные выражения не по душе по каким-то причинам
PHP код:
if(stripos($content'charset=utf-8')!==false){
   
$content=iconv("utf-8","CP1251",$content);

ЗЫ В манулы надо хоть иногда смотреть.
ahsinis вне форума   Ответить с цитированием
Старый 22.05.2008, 21:10   #19
Дикий
 
Аватар для D.iK.iJ
 
Регистрация: 02.06.2007
Адрес: <Noindex>
Сообщений: 2,551
Вес репутации: 356
D.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущее
Smile

Цитата:
Сообщение от ahsinis Посмотреть сообщение
ЗЫ В манулы надо хоть иногда смотреть.
Обижаете ))) Потратил 6 часов на данную задачу. Перерыл Инет...
Оказывается, все действительно сложно

Про функцию счетчика я знаю (что она смотрит весь файл), только альтернатив очень много. И нучно было что-то регистро независимое.
PS Разве прег матч смотрит не весь файл?

Еще раз спасибо отписавшимся!
D.iK.iJ вне форума   Ответить с цитированием
Старый 22.05.2008, 21:12   #20
Дикий
 
Аватар для D.iK.iJ
 
Регистрация: 02.06.2007
Адрес: <Noindex>
Сообщений: 2,551
Вес репутации: 356
D.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущееD.iK.iJ - прекрасное будущее
По умолчанию

А, вспомнил, stripos() я находил в мануале.
Не очень корректно на хостинге с !== работает А иначе - как говорится в мануале - глючит.
Сейчас попробую еще раз. Спасиб.
D.iK.iJ вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Asp.net - смена кодировки Avelon Установка кода на различные движки 4 26.04.2008 18:28
Смена кодировки sca Контекстные ссылки и все, что с ними связано 4 13.02.2008 19:07
Наверное тут это уже боян, но когда закроют дыру по определению что ссылка с сапы? Spec123 Вопросы по работе системы 79 26.11.2007 20:37
Вылетели кодировки! ddvhouse Ошибки при работе с системой 10 25.10.2007 17:27
Есть сложный вопрос maxispeed Вопросы по работе системы 8 20.09.2007 22:25


Часовой пояс GMT +3, время: 18:52.