ФорумПрограммированиеPHP для идиотов → Проверка наличия в ЯК, столкнулся с проблеммой

Проверка наличия в ЯК, столкнулся с проблеммой

  • developer

    Сообщения: 241 Репутация: N Группа: Кто попало

    Spritz 26 июня 2009 г. 12:56, спустя 3 минуты 16 секунд

    ммм, честно говоря мне сложно понять о чём вы говорите, можно мне пару ссылок на примеры?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:02, спустя 6 минут 53 секунды

    q
    Спустя 22 сек.
    [man]simplexml_load_file[/man]
    [man]simplexml_load_string[/man]
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:12, спустя 9 минут 34 секунды


    developer, чем тебе DOM не угодил ?
    ну или как дуд советовал simple_xml…
    поверь, гораздо проще…
    кстати если через симпл_хмл, то не забываем про xpath, тогда там вообще в три строчки все делается.
    я же говорил что симпл ахуенен! дом - Доисторическое Органическое Мегагавно =))
    Сапожник без сапог
  • developer

    Сообщения: 241 Репутация: N Группа: Кто попало

    Spritz 26 июня 2009 г. 13:38, спустя 25 минут 32 секунды

    $file = "http://bar-navig.yandex.ru/u?ver=2&show=31&url=" . $site;
    $XML1 = simplexml_load_file($file);
    print $XML1->tcy['rang'];
    print $XML1->tcy['value'];
    print $XML1->topic['url'];


    данные о rang и value приходят, а вот <topic title="Тема: Поисковые системы" url="http://yaca.yandex.ru/yca/cat/Computers/Internet/Search_Engines/"/></topics>
    не показывает, в чём может быть проблемма?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:40, спустя 2 минуты 4 секунды

    developer, ты не с searchengines.ru ? :D
    Сапожник без сапог
  • developer

    Сообщения: 241 Репутация: N Группа: Кто попало

    Spritz 26 июня 2009 г. 13:43, спустя 3 минуты 25 секунд

    неужели по мне так видно? ))

    тему там я не поднимал, скриптик пишу для собственной нужды (фильтр сайтов по параметрам).

    не могу разобраться почему не выводит ничего :/
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:47, спустя 3 минуты 40 секунд

    ф-ии вывода неадекватно реагируют на обьект SimpleXMLElement
    не обращай внимания.
    я первое время тоже пугался)))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:49, спустя 2 минуты 2 секунды


    ф-ии вывода неадекватно реагируют на обьект SimpleXMLElement
    не обращай внимания.
    я первое время тоже пугался)))
    если их явно тип кастить, то все норм выводится

    типа

    echo (string) $xml->node['title'];
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:50, спустя 1 минуту 8 секунд

    phpdude, разумеется что надо привести к нужному типу.
  • developer

    Сообщения: 241 Репутация: N Группа: Кто попало

    Spritz 26 июня 2009 г. 13:54, спустя 3 минуты 58 секунд

    print $XML1->textinfo;

    вообще кракозяблы, я так понял ещё и с кодировкой… тоесть функция вывода определяет значение того-же 'url', но просто не выводит?
    Спустя 116 сек.
    о, как урл выводить разобрался
    print $XML1->topics->topic['url'];

    а вот как быть с кодировкой текста?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:55, спустя 43 секунды

    developer, на

    <?
    header("Content-type: text/html; charset=utf-8");

    error_reporting(0);
    $url = $_GET['url'] ? $_GET['url'] : "http://ya.ru";

    $xml = simplexml_load_file("http://bar-navig.yandex.ru/u?ver=2&show=31&url=".urlencode($url));

    echo (string)$xml->tcy['rang']."<br/>";
    echo (string)$xml->tcy['value']."<br/>";
    echo (string)$xml->textinfo."<br/>";
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:57, спустя 1 минуту 59 секунд


    print $XML1->textinfo;

    вообще кракозяблы, я так понял ещё и с кодировкой… тоесть функция вывода определяет значение того-же 'url', но просто не выводит?
    Спустя 116 сек.
    о, как урл выводить разобрался
    print $XML1->topics->topic['url'];

    а вот как быть с кодировкой текста?
    во - первых надо так print (string)$XML1->textinfo;
    а во-вторых разобратся с кодировками.
    Спустя 71 сек.
    developer, [man]iconv[/man]
  • developer

    Сообщения: 241 Репутация: N Группа: Кто попало

    Spritz 26 июня 2009 г. 13:58, спустя 1 минуту 40 секунд

    кодировку поправил так:
    $str = $XML1->topics->topic['title'];

    echo utf8_convert($str, "w");

    function utf8_convert($str, $type)
    {
    static $conv = '';
    if (!is_array($conv))
    {
    $conv = array();
    for ($x=128; $x <= 143; $x++)
    {
    $conv['utf'][] = chr(209) . chr($x);
    $conv['win'][] = chr($x + 112);
    }
    for ($x=144; $x<= 191; $x++)
    {
    $conv['utf'][] = chr(208) . chr($x);
    $conv['win'][] = chr($x + 48);
    }
    $conv['utf'][] = chr(208) . chr(129);
    $conv['win'][] = chr(168);
    $conv['utf'][] = chr(209) . chr(145);
    $conv['win'][] = chr(184);
    }
    if ($type == 'w')
    {
    return str_replace($conv['utf'], $conv['win'], $str);
    }
    elseif ($type == 'u')
    {
    return str_replace($conv['win'], $conv['utf'], $str);
    }
    else
    {
    return $str;
    }
    }


    спасибо всем за ответы, сижу ковыряюсь дальше.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 13:59, спустя 1 минуту 11 секунд


    кодировку поправил так:
    $str = $XML1->topics->topic['title'];

    echo utf8_convert($str, "w");

    function utf8_convert($str, $type)
    {
    static $conv = '';
    if (!is_array($conv))
    {
    $conv = array();
    for ($x=128; $x <= 143; $x++)
    {
    $conv['utf'][] = chr(209) . chr($x);
    $conv['win'][] = chr($x + 112);
    }
    for ($x=144; $x<= 191; $x++)
    {
    $conv['utf'][] = chr(208) . chr($x);
    $conv['win'][] = chr($x + 48);
    }
    $conv['utf'][] = chr(208) . chr(129);
    $conv['win'][] = chr(168);
    $conv['utf'][] = chr(209) . chr(145);
    $conv['win'][] = chr(184);
    }
    if ($type == 'w')
    {
    return str_replace($conv['utf'], $conv['win'], $str);
    }
    elseif ($type == 'u')
    {
    return str_replace($conv['win'], $conv['utf'], $str);
    }
    else
    {
    return $str;
    }
    }


    спасибо всем за ответы, сижу ковыряюсь дальше.
    сразу видно что с серча … там любят такие функции ..
    Спустя 14 сек.
    developer, не еби мозг, заюзай мой код
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 26 июня 2009 г. 14:00, спустя 24 секунды

    ну за utf8_convert ща дуд даст пизды…
    а мне уже пора идти домой…
    чмоки

Пожалуйста, авторизуйтесь, чтобы написать комментарий!