Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как в парсер рейтинга ввести переменную id?

Как в парсер рейтинга ввести переменную id?


     30.12.2014    Общие вопросы, Общие вопросы по PHP, Хаки, Ламерские вопросы    1094

вопрос
Здравствуйте,подскажите пожалуйста, есть парсер текста
<?
$url = 'http://www.world-art.ru/animation/animation.php?id=1292';

function getHtml($url='', $ua = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36') {
    $curl_handle = curl_init();
    curl_setopt($curl_handle, CURLOPT_URL, $url);
    curl_setopt($curl_handle, CURLOPT_USERAGENT, $ua);
    //curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl_handle, CURLOPT_HEADER, false);
    $result = curl_exec($curl_handle);
    curl_close($curl_handle);
    unset($curl_handle);
    return $result;
}

$data = getHtml($url);


//<b>Средний балл</b>:&nbsp;3.0&nbsp;из 10
preg_match('/Средний балл<\/b>:&nbsp;(.*?)&nbsp;из 10/is', $data, $rating);

//<b>Проголосовало</b>: 1 чел.
preg_match('/<b>Проголосовало<\/b>: (.*?) чел/is', $data, $vote);


echo $rating[1];
echo '<br>'.$vote[1];

?>


Как сделать чтобы там где:

$url = 'http://www.world-art.ru/animation/animation.php?id=1292';


Вместо "1292" вводить id новости с сайта который парсится (переменную если я правильно понимаю),тоесть в доп. поле вводишь id и он той новости парсит текст, и в fullstory вставить это доп. поле это чтобы отображалось. Может запутано объяснила, но думаю чуточку понятно. Прошу пожалуйста помочь. Очень надеюсь на помощь

Ответа пока нет


Комментарии пользователей (13)

pavel31
4

340 | 158

pavel31 - 30 декабря 2014 20:54 - Юзер

Примерно так

$url = 'http://www.world-art.ru/animation/animation.php?id=[xfgiven_id][xfvalue_id][/xfgiven_id]';

Где id это название Вашего доп. поля в котором Вы вводите ID новости.
Если я правильно понял Ваш вопрос.

Vasilisa
18

Vasilisa - 30 декабря 2014 21:08 - Гости

pavel31,
Спасибо попробую, но разве это правильно?

pavel31
4

340 | 158

pavel31 - 30 декабря 2014 21:30 - Юзер

А почему нет? Вы ведь просили что бы ID новости добавлялся в парсер с доп. поля, вот я Вам и подсказал как это сделать.

Gameer
225

1120 | 395

Gameer - 30 декабря 2014 22:33 - Эксперт

pavel31, да в общем то нет, файл же php, и такие теги там не работают.

Истина в противоречии.​

Attyla
72

243 | 128

Attyla - 30 декабря 2014 22:59 - Юзер

1. Создаем поле ratingsourceid
2. В fullstory.tpl, добавляем:
{include file='engine/modules/rating/rating.php?rating_source_id=[xfvalue_ratingsourceid]'}

3. В engine/modules/rating/ создаем файл rating.php с таким содержанием:

$url = 'http://www.world-art.ru/animation/animation.php?id='.$rating_source_id;
echo "<br>".$url;
//+ дальше что вам нужно

Должно передаваться содержимое доп. поля.

Vasilisa
18

Vasilisa - 31 декабря 2014 09:57 - Гости

Attyla,Спасибо сегодня попробую отпишусь

Vasilisa
18

Vasilisa - 31 декабря 2014 17:38 - Гости

Цитата: Attyla
ratingsourceid


Не работает, то есть если в то доп. поле что вы с казали вводишь id новости с world-art например 1292, то выводится так
http://www.world-art.ru/animation/animation.php?id=12923.01 , то есть рейтинг выводит, но и это http://www.world-art.ru/animation/animation.php?id=1292, ка к исправить помогите пожалуйста

Vasilisa
18

Vasilisa - 31 декабря 2014 17:47 - Гости

Цитата: Attyla
{include file='engine/modules/rating/rating.php?rating_source_id=[xfvalue_ratingsourceid]'}

Все разобралась
Надо не

echo "<br>".$url;


Выводить, а
echo "<br>".$rating[1];

Vasilisa
18

Vasilisa - 31 декабря 2014 17:56 - Гости

Теперь главное, как защитить этот модуль? Подскажите?

Vasilisa
18

Vasilisa - 31 декабря 2014 17:59 - Гости

Сглупила даже не надо выводить

echo "<br>".$url;


Оно и так в конце выведено

Теперь главное, как защитить этот модуль? Подскажите?

Attyla
72

243 | 128

Attyla - 31 декабря 2014 18:09 - Юзер

Как минимум добавить запрет на прямое исполнение файла в начале.


if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

Vasilisa
18

Vasilisa - 31 декабря 2014 18:25 - Гости

Attyla,Поняла спасибо, но это как минимум, а что есть еще что-то?

Vasilisa
18

Vasilisa - 31 декабря 2014 19:08 - Гости

А еще как бы чтобы звездочки автоматов ставились, ну например парсит он информацию что место в рейтинге 10 , и звезд 10,

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы