https://www.r10.net/-link sayısı:3
https://www.r11.net/-link sayısı:7
https://www.r12.net/-link sayısı:10
https://www.r11.net/-link sayısı:1
https://www.r12.net/-link sayısı:11
https://www.r10.net/-link sayısı:9
merhaba arkadaşlar. yukarıdaki gibi bir txt dosyam var. Benzer site adreslerinden sadece 1 tane kalsın istiyorum. Yani r10.com dan 2 tane varsa 1 satırı komple silsin istiyorum. Hangi satırı sildiği önemli değil, aynı site adresi varsa bir satır kalsın yeterli.
Misal yukarıdaki txt dosyasını aşşağıdakine çevirsin
https://www.r10.net/-link sayısı:3
https://www.r11.net/-link sayısı:7
https://www.r12.net/-link sayısı:10
bunu nasıl yapabilirim acaba?
Benzer adres satırını silme
2
●90
- 06-04-2022, 05:28:45Sizinki biraz daha farklıymış dosya düzeninize göre değiştirirsiniz.
deneme.txt
Alıntı
<?php $file = file('deneme.txt'); $domains = array(); $unique_lines = array(); foreach($file as $line) { $line = trim($line); preg_match('@^(.*?) sayısı:(.*?)$@si',$line,$params); if(!in_array($params[1],$domains)) { array_push($domains,$params[1]); array_push($unique_lines,$params[1].' sayısı:'.$params[2]); } } $new_file = implode("\n",array_map(function($line){ return trim($line); }, $unique_lines)); echo $new_file; // Ekrana basar file_put_contents('yeni_deneme.txt',$new_file); // Yeni bir dosyaya kayıt eder. ?>
Aynı satırları silme
<?php $file = file('deneme.txt'); $unique_lines = array_unique($file); $new_file = implode("\n",array_map(function($line){ return trim($line); }, $unique_lines)); echo $new_file; // Ekrana basar file_put_contents('yeni_deneme.txt',$new_file); // Yeni bir dosyaya kayıt eder. ?>