首先,我是PHP世界的新手..所以如果我在这里找到了我需要的东西,我将不胜感激。非常感谢提前。
我有一个包含多行的输入文件,每行都有一些人名和他们居住的地方(名称和位置由tap分隔(可能在下面没有完整显示))。就像这个例子:
所以我想写一个PHP函数来逐行读取该文件,仅打印(输出到另一个文件)居住在NewYork的人
我写了这个函数来逐行读取文件
function process_file($input)
{
$handle = @fopen("input.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo process_line(trim($buffer));
}
fclose($handle);
}
}
process_file("input.txt");
?>
我的问题是.. 如何编写一个函数来过滤输入文件中的文本?因为我只想打印住在NewYork的人
答案 0 :(得分:0)
您可以使用strpos来确定字符串是否包含其他字符串。
function process_line($str, $findme) {
if (strpos($str, $findme) !== false) {
return $str;
}
}
和
echo process_line(trim($buffer), 'NewYork');
答案 1 :(得分:0)
$handle = @fopen("input.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
$n = explode('\t',$buffer) // $n[0] = name, $n[1] = city
if ( $n[1] == "NewYork" ) {
echo $n[0] . "\n";
}
}
fclose($handle);
}