Как получить первые n слов из текста, хранящегося в моей БД на PHP? - PullRequest
1 голос
/ 10 июня 2010

Мне нужно знать, как получить первые n слов из текста, хранящегося в моей БД на PHP?

например, если в моей БД есть какой-то текст, подобный этому:

"слово1 слово2 слово3 слово4 текст один тест четыре пять "

Как я могу получить первые 4 или пять слов из этого текста?

Ответы [ 3 ]

7 голосов
/ 10 июня 2010

Используйте функцию MySQL SUBSTRING INDEX .

-- Will select everything up until the fifth space.
SELECT SUBSTRING_INDEX(YourTextField, ' ', 5); 
1 голос
/ 10 июня 2010

Вы можете использовать функцию explode, чтобы разбить строку на пробел и получить каждое слово:

$words = 'word1 word2 word3 word4 text one test four five';
$words_array = explode(' ', $words);

И затем вы можете использовать функцию array_chunk, чтобы получить количество слов:

print_r(array_chunk($words_array, 4, true));
0 голосов
/ 10 июня 2010

Поскольку выражение регулярного выражения всегда приятно иметь:

if (preg_match('/([^\\s]*(?>\\s+|$)){0,4}/', $string, $matches)) {
    //result in $matches[0]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...