1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

парсер текста

Тема в разделе "Web Coding", создана пользователем dotsenko, 15 мар 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dotsenko

    dotsenko

    Регистр.:
    27 дек 2006
    Сообщения:
    233
    Симпатии:
    106
    нужна сделать что то вроде парсера который будет брать с определённой страницы слово de_dust и считать сколько всего de_dust на странице слов.
    например de_dust - 10 и тд
    Только надо сделать определёных
     
  2. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    PHP:
    echo preg_match_all('/de_dust/'$text$match);
    в $text должен лежать контент страницы
     
  3. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    странно, я думал так проще -

    PHP:
    Count the number of substring occurrences (PHP 4PHP 5

    int substr_count string haystackstring needle [, int offset [, int length]] )
     
  4. vangoga

    vangoga Постоялец

    Регистр.:
    11 мар 2008
    Сообщения:
    59
    Симпатии:
    10
    а слово может быть частью другого слова? dedede_duststst
     
  5. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Щас поправлюсь =) Кстати, искал подобную функцию... ненашел сначало...

    PHP:
    echo preg_match_all('/de_dust\b/'$text$match);
    Вот немного улучшенный вариант. Сюда не попадут другие карты (типа de_dust2, правда попадут new_de_dust, но так карты не именнуют :) ).

    PHP:
    $text 'de_dust2 de_dust';
    echo 
    substr_count($text'de_dust'); 
    вернет 2 т.к. substr_count Возвращает число вхождений подстроки, а здесь надо считать точно :p
     
  6. masto

    masto Прохожие

    Код:
    [COLOR=#000000][COLOR=#0000bb]$text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]'de_dust2 de_dust '[/COLOR][COLOR=#007700]; 
    echo [/COLOR][COLOR=#0000bb]substr_count[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]$text[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]'de_dust '[/COLOR][COLOR=#007700]);[/COLOR][/COLOR]
    вернёт 1 :p
     
  7. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    PHP:
    $text 'de_dust2 de_dust '
    echo 
    substr_count($text'de_dust ');
    Частный случай, поробуй скормить например
    PHP:
    de_dust<br>
    de_dust<pre>
    - вышеуказанный регэксп будеит работать точнее. Не забываем что парситься будет, наверняка, хтмл-страница и там врятли будет идти пробел после названия карты. Скорее всего будет тег и твой пример не прокатит :p
     
Статус темы:
Закрыта.