代碼如下:
四位.club 網域名稱
/*
test.txt 檔案內容為:
10ferents.club
1901.club
1992.club
288cash.club
2nd.club
365gold.club
3dscanning.club
406disco.club
99fitness.club
abuo9i8n3.club
abuo9i8n5.club
abur5t6b2.club
abut6y7n1.club
abut6y7n4.club
abut6y7n7.club
abuy7u8n6.club
1234.club
abcd.club
4.txt 只有:
abcd.club
正確的答案應該是:
1901.club
1992.club
1234.club
abcd.club
*/
$handle=fopen("test.txt","r");
while(!feof($handle)){
$str=fgets($handle);
if(stripos($str,".")==4){
file_put_contents("4.txt",$str);
}
}
?>
篩選網域名稱用的,但是結果怎麼只顯示一行啊,用
echo $str."
\n";顯示結果在正常的.
回複內容:
代碼如下:
四位.club 網域名稱
/*
test.txt 檔案內容為:
10ferents.club
1901.club
1992.club
288cash.club
2nd.club
365gold.club
3dscanning.club
406disco.club
99fitness.club
abuo9i8n3.club
abuo9i8n5.club
abur5t6b2.club
abut6y7n1.club
abut6y7n4.club
abut6y7n7.club
abuy7u8n6.club
1234.club
abcd.club
4.txt 只有:
abcd.club
正確的答案應該是:
1901.club
1992.club
1234.club
abcd.club
*/
$handle=fopen("test.txt","r");
while(!feof($handle)){
$str=fgets($handle);
if(stripos($str,".")==4){
file_put_contents("4.txt",$str);
}
}
?>
篩選網域名稱用的,但是結果怎麼只顯示一行啊,用
echo $str."
\n";顯示結果在正常的.
這樣:
$str = fgets($handle); $str = trim($str);
不知道的怎麼解決的時候,請
var_dump(stripos($str,"."));
看看是否是4
還有追加寫入:
file_put_contents("4.txt",$str, FILE_APPEND);
寫了個DEMO,用正則匹配的
$str = '10ferents.club 1901.club 1992.club 288cash.club 2nd.club 365gold.club 3dscanning.club 406disco.club 99fitness.club abuo9i8n3.club abuo9i8n5.club abur5t6b2.club abut6y7n1.club abut6y7n4.club abut6y7n7.club abuy7u8n6.club 1234.club abcd.club';preg_match_all('/[0-9a-z-]{4}/', $str, $arr);$string = implode("\n", $arr[0]);file_put_contents('1.txt', $string);
:
file_put_contents
每次都會覆蓋掉之前的,應該用fwrite
追加寫入
file_put_contents("4.txt",$str,FILE_APPEND);
fopen("test.txt","a")