Spis treści:
Jakiś czas temu byłem zmuszony do usunięcia słów kluczowych z jednej listy na podstawie słów kluczowych z drugiej listy. Niestety tych słów było od groma, więc ręczne usuwanie, tak aby w efekcie końcowym otrzymać niewykorzystane słowa kluczowe mijało się z celem. I z pomocą przychodzi prosty skrypt napisany w języku PHP. Mam nadzieję, że komuś się przyda – chociażby do nauki PHP, bo na przykładach najłatwiej i najszybciej człowiek się uczy.
Kod
$lista = array_unique ( array_map( 'trim', file('frazy_all.txt') ) ); $frazy = array_unique ( array_map( 'trim', file('frazy.txt') ) ); $frazy_niewykorzystane = array_diff( $frazy, $lista ); $frazy_wykorzystane = array_diff( $frazy, $frazy_niewykorzystane ); $lista_przefiltrowana = array_diff( $lista, $frazy ); file_put_contents('frazy_wykorzystane.txt', implode("\r\n", $frazy_wykorzystane)); file_put_contents('frazy_niewykorzystane.txt', implode("\r\n", $frazy_niewykorzystane)); file_put_contents('lista_przefiltrowana.txt', implode("\r\n", $lista_przefiltrowana));
Działanie Skryptu
1. Z pliku „frazy_all.txt” usuwa wszystkie frazy, które wystąpiły w pliku „frazy.txt” i zapisuje wynik do „lista_przefiltrowana.txt”. Czyli zapisuje te frazy, których nie ma w pliku „frazy.txt”, a które są w „frazy_all.txt”.
2. Frazy, które zostały wykorzystane do przefiltrowania „frazy_all.txt” zapisują się w pliku „frazy_wykorzystane.txt”.
3. Frazy, których nie było w pliku „frazy_all.txt”, a znalazły się w „frazy.txt” zapisują się w pliku „frazy_niewykorzystane.txt”.
7 komentarzy
Czy te frazy w TXT należy wpisywać każda w nowej linii, czy po przecinku?
W każdej osobnej linijce.
Wrzucam artykuł do kategorii przydatne skrypty seo :)
dzienks
Tylko to nie bierze pod uwagę synonimów ;) Rozumiem, że byłby problem ze słownikiem, ale to przynajmniej zrobić grupy, albo dodać możliwość dawania gwiazdki na końcu słowa.
dobry programik ;) https://techformator.pl/porownywanie-dwoch-list-disavow-linkow-gwt/
Czy na starej wersji PHP 5.1 ten skrypt zadziała?
nie testowałem