Skrypt wygląda obecnie tak
<form action="qq.php" method='get'> slowo: <input type='text' name='search' /><br /> ile wynikow: <input type='text' name='ile' /> <input type='submit' value='szukaj' /> </form> <? $take = $_GET['search']; // slowo pobrane z formularza $ile = $_GET['ile']; $wzorzec = '/[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}/'; if (!$search) else { foreach($match as $link) { foreach ($wyniki as $mail) { } foreach($match2 as $link2) { foreach ($wyniki2 as $mail) { } } } } ?>
Zdaję sobie sprawę, że z optymalizacją nie ma nic wspólnego, ale to nie ma znaczenia, bo będzie używany od czasu do czasu i przez jedną osobę.
Chcę w nim zmienić kilka rzeczy:
1. Obecnie skrypt po wejściu na strony znalezione w google, wchodzi raz jeszcze na linki na tych stronach i raz jeszcze. Chciałbym to zmienić, aby zamiast zagłębiać się w ten sposób, przeszukiwał dokładnie daną stronę w poszukiwaniu adresów mail. Czyli wchodzi na np. www.przyklad.pl, przeszukuje stronę główną i wszystkie podstrony (lub też tylko te podstrony, do których linki są na głównej) i wyciąga znalezione maile.
2. Zamiast wyświetlania wyników, chciałbym aby maile zapisywał do pliku. Podejrzewam, że ze stworzeniem pliku i zapisem tam wyników nie byłoby problemów, jednak czasem znajduje na kilku stronach (albo na jednej w kilku miejscach) ten sam adres mail. Chciałbym uniknąć w zapisie w pliku powtórzeń maili.
3. Podczas wyszukiwania wchodzi na wszystkie strony. Chciałbym uniknąć wchodzenia przez skrypt na takie linki, które prowadzą do nikąd (czyli np odnoszą się do plików styli). Powoduje to dużą ilość wyświetlanych błędów typu
Cytat
Warning: file_get_contents(story.cgi?wyb=7&next=2&chapter=1) [function.file-get-contents]: failed to open stream: No such file or directory in /home/radiomb/domains/radiomb.pl/public_html/qq.php on line 31
Próbowałem przed file_get_contents dodać @, jednak sprawiło to tylko tyle, że nie uzyskiwałem żadnych informacji. Ani błędów, ani maili.