Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使这个搜索引擎与subsrt_count一起工作?_Php_Echo_Search Engine_File Get Contents - Fatal编程技术网

Php 如何使这个搜索引擎与subsrt_count一起工作?

Php 如何使这个搜索引擎与subsrt_count一起工作?,php,echo,search-engine,file-get-contents,Php,Echo,Search Engine,File Get Contents,所以,我一直致力于制作一个不使用数据库的搜索引擎。它应该做的是在网页中找到搜索到的单词并自动给出其链接。代码如下: 但是,它从不检查单词是否真的存在,它总是返回单词的所有结果。所以,我想知道是否有人知道为什么或者有改进的建议。请记住,它永远不会用于专业领域,它只是用来测试我的能力。提前谢谢 您需要查看php手册以了解 返回值 此函数返回一个整数 因此,它将始终进入第一个if块: if (substr_count($fUrl, $searchInput) !== false) { 因为subst

所以,我一直致力于制作一个不使用数据库的搜索引擎。它应该做的是在网页中找到搜索到的单词并自动给出其链接。代码如下:


但是,它从不检查单词是否真的存在,它总是返回单词的所有结果。所以,我想知道是否有人知道为什么或者有改进的建议。请记住,它永远不会用于专业领域,它只是用来测试我的能力。提前谢谢

您需要查看php手册以了解

返回值

此函数返回一个整数

因此,它将始终进入第一个if块:

if (substr_count($fUrl, $searchInput) !== false) {
因为substr_count的返回值永远只是一个整数,并且永远不会为false-您的代码正在检查false的确切值和类型

此外,除了else块之外,所有语句都只是回显完全相同的字符串,因此如果执行进入if或elseif块,您将看不到任何输出差异。请参阅下面的内容,让您走上正确的轨道:

$searchInput = 'some';

$fUrl = 'this is test file text';
$sUrl = 'this is some other text';
$tUrl = 'extra text';

if (substr_count($fUrl, $searchInput) !== 0) {
    echo "a";
} elseif (substr_count($sUrl, $searchInput) !== 0) {
    echo "b";
} elseif (substr_count($tUrl, $searchInput) !== 0) {
    echo "c";
} else {
    echo "No resulst for <strong> $searchInput </strong>! ";
}

依我看,这将是一个资源食客?如果我错了,请纠正我,但你是否试图在每次查询时抓取100到数千个网站?不,这是针对我的网站,引擎将在我的网站页面中搜索字符串,然后报告其确切链接。你的网站内容是静态的吗?我不这么认为,不,它是固定的。我正在测试的当前网页是一个虚构的页面。所以你有什么建议?编辑我的答案,请再看一看,如果这有助于你,请投票并考虑标记蜱作为您的问题的公认答案。谢谢。注意:您可能没有意识到这一点,但在php中!=还有,我建议您仔细阅读以下内容:
$searchInput = 'some';

$fUrl = 'this is test file text';
$sUrl = 'this is some other text';
$tUrl = 'extra text';

if (substr_count($fUrl, $searchInput) !== 0) {
    echo "a";
} elseif (substr_count($sUrl, $searchInput) !== 0) {
    echo "b";
} elseif (substr_count($tUrl, $searchInput) !== 0) {
    echo "c";
} else {
    echo "No resulst for <strong> $searchInput </strong>! ";
}