搜索文档中的文本并将行作为输出
问题描述:
我正在尝试制作if
,它将尝试通过搜索后获取文档的一行。因此它在文档中搜索“注册器句柄”并获得该行的全部输出。搜索文档中的文本并将行作为输出
我的是,问题是,我得到这个错误:Notice: Undefined index: Registrar Handle in C:\xxxx\xxxx\xxx\xx on line 29
将是很好,如果有人有一个解决方案,也许有它为什么发生的解释?
$commandR = "whois ".mysql_result($domain, 0);
$outputR = shell_exec($commandR);
$fhR = fopen('R.txt','w+');
fwrite($fhR,$outputR);
fclose($fhR);
{
//.no
if(strpos(file_get_contents("./R.txt"),$_GET['Registrar Handle'])){
$fhR = fopen('A.txt','r');
$R = fgets($_GET);
fclose($fhA);
Echo $R;
//mysql_query("UPDATE `dom_oversikt`.`server1` SET `Registrar`='".$R."' WHERE `id` = '$id';");
}
答
可以遍历刚刚创建的文件,获取文件的每一行,直到达到它的结束和回声/返回包含你所提到的串线。
$searchedString = 'Registar Handle';
if (($handle = fopen("./R.txt", "r")) !== false) {
while (!feof($handle)) {
$currentLineInFile = fgetss($handle, 4096);
if(false !== strpos($currentLineInFile, $searchedString)){
echo $currentLineInFile;
}
}
fclose($handle);
}
有人可能会说,你可以使用preg_match可以不用strpos,但它更复杂和更快速的(根据该SO answer指向PHP文档本身)。
关于你的错误,这只是由于没有关键“注册器手柄”数组$ _GET英寸
你有什么问题? –
@u_mulder我更新了一点 – Leifus
[PHP:“Notice:Undefined variable”和“Notice:Undefined index”]的可能重复(http://stackoverflow.com/questions/4261133/php-notice-undefined-variable- and-notice-undefined-index) –