Подсчет слов, начинаем с нуля

Тема в разделе "PHP", создана пользователем Baracuda, 30 июл 2009.

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

    Baracuda Постоялец

    Регистр.:
    31 дек 2007
    Сообщения:
    86
    Симпатии:
    4
    Есть простецкий код
    Код:
    <html>
    <head>
    <title>Тест программы</title>
    </head>
    <body>
    <?php
         $string = "Подсчет слов!";
         $numberOfWords = str_word_count($string);
         $word1 = str_word_count($string, 1);
         $word2 = str_word_count($string, 2);
         echo "В предложении <b>$string</b> , которое находится в переменной \$string содержится $numberOfWords слов.";
    ?>
    </body>
    </html>
    
    Тут по идее два слова, но мне вырисовывает цифру 4, откуда она берется? :bc:
     
  2. qwyjibo

    qwyjibo Постоялец

    Регистр.:
    27 янв 2009
    Сообщения:
    64
    Симпатии:
    12
    Вроде работает, если вызывать функцию с параметром, в котором указать весь русский алфавит:
    PHP:
    $characterMap 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
    $numberOfWords str_word_count($string0$characterMap);
     
    Baracuda нравится это.
  3. Otis22

    Otis22 Создатель

    Регистр.:
    13 фев 2009
    Сообщения:
    30
    Симпатии:
    9
    хм:) а я бы сделал explode(" ", $string); а потом каунт масива. Не совсем правильно но считало бы верно.
     
  4. antn

    antn Постоялец

    Регистр.:
    11 июл 2009
    Сообщения:
    104
    Симпатии:
    30
    2Otis22
    Даже твой ответ правильно не обсчитало бы.

    2Baracuda
    For the purpose of this function, 'word' is defined as a locale dependent string containing alphabetic characters, which also may contain, but not start with "'" and "-" characters.
     
  5. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    низнаю я юзаю очень давно
     
  6. Casper_R

    Casper_R Создатель

    Регистр.:
    3 май 2007
    Сообщения:
    85
    Симпатии:
    25
    вот вариант из мана PHP

    PHP:
    <?php
    $string 
    "This is\tan example\nstring";
    $tok strtok($string" \n\t");
    while (
    $tok !== false) {
        echo 
    "Word=$tok<br />";
        
    $tok strtok(" \n\t");
    }
    ?>
     
Статус темы:
Закрыта.