![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
To mój pierwszy post, więc witam wszystkich.
Gromadzę linki do katalogu tematycznego i utknąłem na narzędziu do zbierania sortowania i weryfikacji linków. Zrobiłem kasowanie duplikatów w txt na array_unique ale niestety to nie wystarcza. Nie wiem jak poradzić sobie z linkami typu http://domena.com i http://www.domena.com jeden z nich powinien zostać usunięty. A także nie wiem jak zrobić, aby skrypt porównywał linki z jednego pliku txt z linkami z drugiego np. badlinks.txt i z 1 usuwał te, które są w 2. Nie wiem czy jasno to opisałem, ale jestem początkujący, więc proszę o wyrozumiałość |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym, że to nie są dwie takie same domeny. Jeżeli chcesz jednak się tego pozbyć, to usuwaj www. przed dodaniem do bazy.
Usuwanie jest dość proste, jedna operacja na dwóch zbiorach. Odczytujesz obie listy i obliczasz ich różnicę. A - lista domen B - lista złych domen A \ B = lista "dobrych" domen. array_diff" title="Zobacz w manualu php" target="_manual -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za array_diff o to chodziło.A z tym www wolałbym nie usuwać, dlatego że jeżeli link wystąpi w obu formach to jest prawie pewne, że kryje się pod nimi ten sam serwis. Jednak nieraz po usunięciu z linka WWW przestaje działać.
Niestety spłodziłem coś takiego i nie działa.
W pliku pelnalistaurli jest janek ania marek zenek a w pliku badurl marek ania a wynik = pelna listaurli nic nie kasuje. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pokaż zrzuty zmiennych $plik i $plik2, wtedy może coś pomogę. Spróbuj wyniki przepuścić przez funkcję trim" title="Zobacz w manualu php" target="_manual albo podstawić same wartości (array_values" title="Zobacz w manualu php" target="_manual).
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod teraz jaest taki
a wynik taki Kod 4
array(4) { [0]=> string(6) "janek " [1]=> string(5) "ania " [2]=> string(6) "marek " [3]=> string(5) "zenek" } 2 array(2) { [0]=> string(7) "marek " [1]=> string(6) "ania " } 4 array(4) { [0]=> string(6) "janek " [1]=> string(5) "ania " [2]=> string(6) "marek " [3]=> string(5) "zenek" } |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przypatrz się długościom stringów... Są różne, więc elementy różnią się. Spróbuj:
I to samo dla drugiej tablicy. Jak nie zadziała to też daj zrzuty... -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nadal kiszka nie mam pojęcia skąd się biorą różnicę w stringach
Kod 5 array(5) { [0]=> string(6) "tadek " [1]=> string(5) "ania " [2]=> string(6) "marek " [3]=> string(6) "janek " [4]=> string(6) "wiktor" } 4 array(4) { [0]=> string(6) "ania " [1]=> string(7) "janek " [2]=> string(9) "zdzisiu " [3]=> string(5) "tadek" } 5 array(5) { [0]=> string(6) "tadek " [1]=> string(5) "ania " [2]=> string(6) "marek " [3]=> string(6) "janek " [4]=> string(6) "wiktor" } Wszystkie imiona wpisywałem ręcznie dając enter na końcu lini. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Z tego co napisałeś, to nie widzę, żebyś zrobił, to co mówiłem.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja mam tak
Ale sprawdzę i twój skrypt Niestety jak się można domyśleć efekt jest dokładnie ten sam tak jak by trim nic nie dawał i skąd te różnice nie rozumiem tego. Ten post edytował Qbexus 12.07.2006, 22:31:05 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Skasowałem... Pomyliłem funkcję
![]()
Ten post edytował Ludvik 12.07.2006, 22:41:09 -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki jest super. A swoją drogą ciekawe skąd się biorą te dziwne nie istniejące znaki.
Niestety mam następnego zonka chyba teraz za dobrze wyczyścilo wszelkie znaki bo jak chce to zapisać to zapisuje mi wszystko w jednej lini zamiast każdy link osobno.
W innym skrypcie z array_unique to działa bez problemu. ![]() Ten post edytował Qbexus 12.07.2006, 22:53:25 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Posortuj tablicę raz przed pętlą, a nie przy każdym przebiegu. Ogólnie to najlepiej zrobić to tak:
Gdzie wynik jest tablicą, którą chcesz zrzucić do pliku. Pamiętaj, że przy otwieraniu funkcją file" title="Zobacz w manualu php" target="_manual wyrzucane są wszystkie znaki nowej linii i przed zapisem musisz je przywrócić. Problemy z pustymi znakami to raczej wina edytora, którego używasz. Windows, Linux i Mac OS mają różne metody oznaczania końca wiersza i to są najprawdopodobniej te zbędne znaki. -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 12.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Patrz kurcze jakie to proste a ja zawsze ćwiczyłem pętle i tp. dzięki.
Znacie może jakąś polską stronę gdzie łopatologicznie są takie fajne kruczki opisane? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 06:36 |