function putFile($fileName) {
$this->file = fopen($fileName,'r');
$this->fileContent = iconv("UTF-8", "WINDOWS-1251", fread($this->file,filesize($fileName)));
fclose($this->file);
$res = preg_match_all("#([а-яё]+)#i", $this->fileContent, $words);
foreach ($words[0] as $k=>$v) {
print_r(iconv("WINDOWS-1251", "UTF-8", $v).'<br>');
}
}
результат - делит не только на слова, но и сами слова рубит на куски по непонятному алгоритму. файл в utf-8, сайт тоже на utf-8.
где лоханулся?
Свернутый текст
авиаперелё авиап лемё авиас ёмка авиа ё ав огидропод ёмник ав околёса ав о ё ка аг кнё аг кнё с аг а ёлк аделём азо ёрн й акмежёл й акрилзаме ённ й Аксён Аксёнов аксилён ак ёр ак ёрка ак ёрский ак ёрски ак ёрс вова ак
Спустя 18 минут, 54 секунды (2.02.2012 - 20:33) twin написал(а):
А зачем танцы с бубнами с iconv? Убери и поставь модификатор u
Да и s непомешает я думаю.
Да и s непомешает я думаю.
Спустя 2 минуты, 13 секунд (2.02.2012 - 20:35) Игорь_Vasinsky написал(а):
накалякай пример строки с которой работаешь?
действительно...
действительно...
Свернутый текст
А зачем танцы с бубнами с iconv? Убери и поставь модификатор u
Да и s непомешает я думаю.
Да и s непомешает я думаю.
Спустя 2 минуты, 26 секунд (2.02.2012 - 20:37) redreem написал(а):
щас попробую.
так ставить: preg_match_all("#([а-яё]+)#ius"...?
так ставить: preg_match_all("#([а-яё]+)#ius"...?
Спустя 36 секунд (2.02.2012 - 20:38) Игорь_Vasinsky написал(а):
ага скобки тока можешь убрать
Спустя 1 минута, 40 секунд (2.02.2012 - 20:40) redreem написал(а):
о! заработало! пасиб!
Спустя 5 секунд (2.02.2012 - 20:40) neadekvat написал(а):
Цитата (Игорь_Vasinsky @ 2.02.2012 - 21:38) |
ага скобки тока можешь убрать |
С фига ли, если ему нужен результат?
redreem, нет смысла в $res. Вызывай функция просто так.
Спустя 1 минута, 43 секунды (2.02.2012 - 20:41) redreem написал(а):
neadekvat
ну на всякий случай мне res не помешает. еще в работе алгоритм.
ну на всякий случай мне res не помешает. еще в работе алгоритм.
Спустя 1 час, 46 минут, 30 секунд (2.02.2012 - 22:28) Winston написал(а):
preg_match_all("#[^ ]+#", $this->fileContent, $words);
echo '<pre>'.(print_r($words, 1)).'</pre>';
Спустя 11 минут, 2 секунды (2.02.2012 - 22:39) redreem написал(а):
непонял что значит [^<пробел>]?
Спустя 20 минут, 32 секунды (2.02.2012 - 22:59) Winston написал(а):
Все что не равно пробелу, в твоем случае будут выбраны все слова.
Спустя 4 минуты, 24 секунды (2.02.2012 - 23:04) redreem написал(а):
мне надо и знаки препинания учитывать. и скобки и прочее. выдирать русские слова смешанные с чем угодно.