PHP. Разбить строку на слова
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Разбить строку на слова можно с помощью функции 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"
}
[0]=>
string(10) "Текст"
[1]=>
string(6) "для"
[2]=>
string(16) "проверки"
[3]=>
string(14) "функции"
[4]=>
string(6) "strtok"
}
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.