Как выбрать ограниченное количество слов из текстового поля, используя JavaScript?
Я пытался создать веб-страницу плагиата. Он будет принимать входные данные из текстового поля и искать в Google. если найден он будет отображать результаты. Теперь проблема в том, что он ищет весь текст одновременно, но мне нужно, чтобы он искал 10 слов за раз, и должен искать до конца в циклах из 10 слов.
Вот мой код:
//Google search code
if(isset($_POST['nm'])) {
$query = $_POST["nm"];
$string = str_replace(' ', '%20', $_POST["nm"]);
}
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".$string;
3 ответа
Примерно так должно это сделать
if(isset($_POST['nm'])) {
$words = explode(' ', $_POST["nm"]);
foreach($words as $word) {
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=". urlencode($word);
//make request
}
}
Это разбивает вашу строку на каждый пробел, а затем генерирует URL с закодированной строкой.
Демо: http://sandbox.onlinephpfunctions.com/code/6118501275d95762ce9238b91261ff435da4e8cf
Функции:
http://php.net/manual/en/function.explode.php
http://php.net/manual/en/function.urlencode.php
Обновление (за каждые 10 слов):
if(isset($_POST['nm'])) {
$words = explode(' ', $_POST["nm"]);
foreach($words as $wordcount => $word) {
if($wordcount % 10 == 0 && !empty($wordcount)) {
echo 'Hit 10th word, what to do?' . "\n\n";
}
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=". urlencode($word);
echo $url . "\n";
}
}
Демоверсия: http://sandbox.onlinephpfunctions.com/code/7a676951da1521a4c769a8ef092227f2aabcebe1
Дополнительная функция:
Оператор модуля: http://php.net/manual/en/language.operators.arithmetic.php
Не уверен, но я думаю, что вы должны использовать +
вместо %20
if(isset($_POST['nm'])) {
$query = implode(' ', array_slice(explode(' ', $_POST['nm']), 0, 10));
$string = urlencode ($query );
}
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".$string;
Один из способов разбить строку на куски с определенным количеством слов может быть:
[РЕДАКТИРОВАТЬ] более короткий путь будет:
$text = "This is some text to demonstrate the splitting of text into chunks with a defined number of words.";
$wordlimit = 10;
$words = preg_split("/\s+/",$text);
$strings = array_chunk($words,$wordlimit);
foreach($strings AS $string){
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=". urlencode(implode(" ", $string));
echo $url."\n";
}