Привет. Нужно спарсить одно поле с сайта, пробовал написать регулярку, но она почему-то не работает. PHP: <?php $getpage = file_get_contents("http://rutor.org/torrent/215393/"); preg_match_all("/.*<b>Перевод: <\\/b>(.*)<br \\/>.*/isU", $getpage, $matchesname); $torrentname = iconv("UTF-8", "windows-1251", $matchesname[1][0]); echo $torrentname; ?> Подскажите в чем косяк, заранее спасибо.
PHP: $getpage = file_get_contents("http://rutor.org/torrent/215393/"); preg_match('#<b>Перевод: <\/b>(.*)<br \/>#Uis',$getpage, $data); echo $data[1];
PHP: array(2) { [0]=> string(101) "Перевод: Профессиональный (полное дублирование) " [1]=> string(72) "Профессиональный (полное дублирование)" } у меня работает, смотри на кодировку файла, и кодировку своего веб сервера
ну так iconv или mb_convert_encoding тебе в помощь, меняй кодировку как тебе угодно и будет тебе счастье
Пробовал, через iconv, работает... но для меня это не вариант... Обьяснять почему долго, есть еще варианты?
других вариантов нету, не понимаю зачем в windows-1251 ну хозяин барин, тебе либо каждую запись к примеру так перекодировать либо к примеру $file = file_get_contents('http://test.ru'); $file = iconv("UTF-8", "windows-1251", $file); и тут уже работать полностью с перекодированным, то есть распарсивать. Других вариантов у тебя нету
Потому, что у меня система устроена так, заходится на рутор, берется название, потом я парсю информацию с кинопоиска, потом снова мне нужно на рутор одно поле спарсить, то мне придется через iconv все проводить, что очень фигово в моем случае.