|
|
|
|
<!--card_photo-->
<div class="columns sale-counter">
<p class="c">Дата обновления – <strong>09.05.2011</strong></p>
<p class="c">Просмотров объявления – <strong>30</strong></p>
<p class="c">Срок хранения – до <strong>20.05.2011</strong></p>
</div>
скрипт
<?
$str = file_get_contents("http://cars.auto.ru/cars/used/sale/10493805-281b.html");
$pattern = "|<p[\s]+class=\"c\">Просмотров объявления[\s]+–[\s]+<strong>(.*?)</strong>|is";
preg_match($pattern, $str, $out);
$vizit=$out[1];
echo $vizit;
?>
|
как я понял бувы русские не воспринимает | |
|
|
|
|
|
|
|
для: technic611
(09.05.2011 в 11:47)
| | Как правило, нужно настроить локаль, возможно, вас заинтересует тема по ссылке http://softtime.ru/forum/read.php?id_forum=6&id_theme=80637. | |
|
|
|
|
|
|
|
для: cheops
(09.05.2011 в 12:18)
| | еще раз пожалуйста ссылочку, не прошло.
так у меня на сервере не воспринимает, а раньше все нормально было... | |
|
|
|
|
|
|
|
|
для: technic611
(09.05.2011 в 12:21)
| | что-то не получается ((( | |
|
|
|
|
|
|
|
для: technic611
(09.05.2011 в 13:07)
| | А регулярные выражения без русских букв работают? | |
|
|
|
|
|
|
|
для: cheops
(09.05.2011 в 14:02)
| | да | |
|
|
|
|
|
|
|
для: technic611
(09.05.2011 в 14:41)
| | Лучше всего обратиться, конечно, в службу тех.поддержки хостера, так как настройка локали может отличаться на разных серверах. Возможно, у вашего хостера есть еще какие-то особенности. | |
|
|
|
|
|
|
|
для: cheops
(09.05.2011 в 15:44)
| | там говорят что все работает, ничего не понимаю... | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 11:59)
| | Попробуйте составить сверхпростое регулярное выражение, которое будет искать одну русскую букву в строке из неё же состоящей, ну или из пары букв. Это позволит убедиться в существовании проблемы и убедить службу тех.поддержки. | |
|
|
|
|
|
|
|
для: cheops
(10.05.2011 в 13:00)
| | пример можно? | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 15:14)
| | Можно начать отталкиваться от следующего скрипта
<?php
$pattern = "|[а-я]|";
$text = "Не работает";
if(preg_match($pattern, $text)) echo "Сработало";
else echo "Не сработало";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(10.05.2011 в 15:43)
| | все сработало, странно, почему же мой скрипт не работает | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 16:32)
| | Вот этот скрипт у вас срабатывает?
<?php
$str = '<div class="columns sale-counter">
<p class="c">Дата обновления – <strong>09.05.2011</strong></p>
<p class="c">Просмотров объявления – <strong>30</strong></p>
<p class="c">Срок хранения – до <strong>20.05.2011</strong></p>
</div>';
$pattern = "|<p[\s]+class=\"c\">Просмотров[\s]+объявления[\s]+–[\s]+<strong>(.*?)</strong>|is";
preg_match($pattern, $str, $out);
$vizit=$out[1];
echo $vizit;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(10.05.2011 в 17:17)
| | этот да, а если подгружаю страницу-то нет.
может дело в этом
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
??? | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 18:21)
| | Если вы используете UTF-8, нужно добавить модификатор u | |
|
|
|
|
|
|
|
для: cheops
(10.05.2011 в 18:59)
| | нет, вы не поняли это я страницу подгружаю в хеадере у нее стоит такая кодировка, может дело в этом? | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 19:08)
| | Тогда действительно не очень понятно.
1) Сам скрипт в какой кодировке?
2) В какой кодировке данные, которые он обрабатывает? | |
|
|
|
|
|
|
|
для: cheops
(10.05.2011 в 19:54)
| | данные которые обрабатывает в этой кодировке
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
а скрпит как узнать в какой? | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 23:05)
| | как же быть, есть еще какие нибудь предложения? | |
|
|
|
|
|
|
|
для: technic611
(10.05.2011 в 23:05)
| | Скрипт на этой же странице расположен? | |
|
|
|
|
|
|
|
для: cheops
(13.05.2011 в 11:54)
| | скрипт запускается кроном чрез определенное время | |
|
|
|
|
|
|
|
для: technic611
(13.05.2011 в 23:45)
| | А этот скрипт в какой кодировке написан? При помощи какой программы он создавался? | |
|
|
|
|
|
|
|
для: cheops
(14.05.2011 в 10:29)
| | в обычном блокноте akelpad.exe | |
|
|
|
|
|
|
|
для: technic611
(14.05.2011 в 19:46)
| | Стандартный блокнок позволяет сохранять кодировку в UNICODE и Windows-кодировках, хорошо бы выяснить в какой кодировке ложаться данные в скрипт. | |
|
|
|
|
|
|
|
для: cheops
(14.05.2011 в 20:04)
| | в Windows 1251 | |
|
|
|
|
|
|
|
для: cheops
(14.05.2011 в 20:04)
| |
<!--card_photo-->
<div class="columns sale-counter">
<p class="c">Дата обновления – <strong>15.05.2011</strong></p>
<p class="c">Просмотров объявления – <strong>61</strong></p>
|
тогда как можно обойти буквы. нужно вытащить 61 | |
|
|
|
|
|
|
|
для: technic611
(15.05.2011 в 14:32)
| | Можно начать отталкиваться от следующего скрипта
<?php
$text = '<!--card_photo-->
<div class="columns sale-counter">
<p class="c">Дата обновления – <strong>15.05.2011</strong></p>
<p class="c">Просмотров объявления – <strong>61</strong></p>';
$pattern = "|<p\s+class=\"c\">[^<]+<strong>(\d+?)</strong></p>|i";
preg_match($pattern, $text, $out);
echo $out[1];
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.05.2011 в 14:58)
| | а если так?
<!--card_photo-->
<div class="columns sale-counter">
<p class="c">Дата обновления – <strong>14.05.2011</strong></p>
<p class="c">Просмотров объявления – <strong>124</strong></p>
<p class="c">Срок хранения – до <strong>13.06.2011</strong></p>
|
вытаскиваем 124 | |
|
|
|
|
|
|
|
для: technic611
(15.05.2011 в 18:53)
| | Точно такое же регулярное выражение - цифра не имеет значение, оно любое найдет. | |
|
|
|
|
|
|
|
для: cheops
(15.05.2011 в 19:03)
| | так там три одинаковых записи, получается что оно найдет послюднюю из них-это дата, а мне нужно кол-во просмотров | |
|
|
|
|
|
|
|
для: technic611
(15.05.2011 в 20:21)
| | Нет, будет найдено именно количество просмотров. Да вы сами попробуйте использовать выражение. | |
|
|
|
|
|
|
|
для: cheops
(15.05.2011 в 20:40)
| | кажется начинаю понимать, это потому что стоит d- целые числа? | |
|
|
|
|
|
|
|
для: cheops
(15.05.2011 в 20:40)
| | спасибо, все получилось. но вопрос почему русские буквы не воспринимаются так и остался | |
|
|
|
|
|
|
|
для: technic611
(09.05.2011 в 11:47)
| |
<?php
preg_match("/объявления \– <strong>(\d+)<\/strong>/Us",$str,$out);
echo $out[1];
?>
|
| |
|
|
|
|
|
|
|
для: Deed
(14.05.2011 в 08:18)
| | тоже не получается ((((((( | |
|
|
|
|
|
|
|
для: technic611
(14.05.2011 в 20:06)
| | Прикрепите скрипт. | |
|
|
|
|
 2.5 Кб |
|
|
для: Deed
(15.05.2011 в 03:19)
| | вот | |
|
|
|