PHP. Разбить строку на слова

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
PHP. Разбить строку на слова


Разбить строку на слова можно с помощью функции strtok.
Данная функция принимает 2 параметра.
Первый параметр это обрабатываемая строка.
Второй параметр - строка содержащая символы по которым строка будет разделена на слова.

Строка входящая в первый параметр:
$string = "Текст\tдля\nпроверки strtok";


Массив полученных слов из строки:
$array_words = array();


Символами разделителя будут выступать: пробел, табуляция и перенос строки:
$separator = " \t\n";


Выполняем разделение и записываем значение в переменную $tok:
$tok = strtok($string, $separator);

В переменную $tok будет записано лишь первое слово. Получение массива вех строк будет описано далее.

Считается, что исходная строка передается при первом вызове функции.
В последующих вызовах передаются лишь символы разделители, так как эта функция запоминает переданную строку и запоминает позиции в этой строке.
$tok = strtok(" \t\n");


Для работы с новой строкой необходимо снова вызывать функцию с двумя параметрами.

Получаем массив со словами определенными в строке:
while($tok) {
    $array_words[] = $tok;
    $tok = strtok(" \t\n");
}


Выводим результат:
var_dump($array_words);


Значение результата полученного на экране:
array(5) { [0]=> string(5) "Текст" [1]=> string(3) "для" [2]=> string(8) "проверки" [3]=> string(7) "функции" [4]=> string(6) "strtok" }


Исходный код примера:
<?php
$string = "Текст\tдля\nпроверки функции strtok";
$separator = " \t\n";

$array_words = [];
$tok = strtok($string, $separator);

while($tok) {
    $array_words[] = $tok;
    $tok = strtok($separator);
}
var_dump($array_words);


Результат:
array(5) {
[0]=>
string(10) "Текст"
[1]=>
string(6) "для"
[2]=>
string(16) "проверки"
[3]=>
string(14) "функции"
[4]=>
string(6) "strtok"
}
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.