Я пытаюсь создать поисковик с несколькими текстовыми доменами, но в итоге получаю только один результат. У меня есть поле textarea, где вы можете добавить несколько доменов и текстовое поле, где вы можете ввести текст.
например у меня есть несколько доменов и вставьте его в поле textarea
abc.com/dog.txt
def.com/cat.txt
ghi.com/mice.txt
jkl.com/bug.txt
Затем я поместил ключевое слово «мило» в текстовое поле, результат должен быть
record found on abc.com
record found on def.com
record not found on ghi.com
record not found on jkl.com
search.php
<label>URL</label><br/>
<textarea rows="4" cols="10" name="domainlist" id="domainlist" placeholder="Add Your Domain here seperated by comma"></textarea><br/>
<label>Keyword</label><br/>
<input type="text" name="keyword" id="keyword" placeholder="Keyword " />
<input type="submit">
</form>
Result.php
$domainlist = htmlspecialchars($_POST['domainlist']);
$keyword = $_POST["keyword"];
$file = file_get_contents('http://' .$domainlist);
$searchnum = $keyword ;
if (stripos($file, $searchnum) !== false) {echo 'record found on' .$domainlist;}
else {echo 'record not found' .$domainlist ;
}
как отобразить несколько результатов?
$domainlist = array(
abc.com/dog.txt
def.com/cat.txt
ghi.com/mice.txt
jkl.com/bug.txt
);
$keyword = $_POST["keyword"];
foreach($domainlist as $domain) {
$file = file_get_contents('http://' . $domain);
$searchnum = $keyword ;
if (stripos($file, $searchnum) !== false) {
echo 'record found on' .$domain;
}
else {
echo 'record not found' .$domain;
}
}
Если твой $domainlist
должен прийти из браузера (через POST), затем вам нужно будет передать его как массив, используя несколько элементов с одинаковыми именами, например:
<input name="domainlist[]" value="abc.com/dog.txt" />
<input name="domainlist[]" value="def.com/cat.txt" />
Есть и другие способы справиться с $domainlist
используя javascript или некоторую форму сериализации или объект json.
Других решений пока нет …