Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] pliki i sprawdzanie wyrażeń a także google
lamcpp
post 2.01.2012, 21:20:35
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


Mam plik *.txt w którym umieszczone są linki, każdy w nowej linii
1) W jaki sposób sprawdzić czy początek linku rozpoczyna się od http:// i jeśli się nie rozpoczyna to dodać to http://
2) Czy da się w jakiś zautomatyzowany sposób zapisać listę pierwszych 100 wyników google dla danego słowa kluczowego (chodzi mi o same linki), bo kopiuj wklej jest trooochę czasochłonne
Go to the top of the page
+Quote Post
prowseed
post 2.01.2012, 23:17:09
Post #2





Grupa: Zarejestrowani
Postów: 433
Pomógł: 64
Dołączył: 29.01.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


1. generalnie w takim troche pseudokodzie, bo to chyba dzialac nie bedzie; bedziesz wiedzial o co chodzi pewnie:
  1. <?php
  2. $file = file("lista.txt");
  3. $fo = fopen("lista.txt","w+");
  4.  
  5. foreach ($file as $line) {
  6. if (substr("$line", 0, 7) != "http://"){
  7. $line = "http://" . $line;
  8. }
  9. }
  10.  
  11. fwrite($fo, print_r($file, true));
  12. fclose($fo);
  13. ?>


2. pewnie sie da, ale to duzo wycinania bedzie. Mozesz sobie skorzystac z funkcji file albo file_get_contents + explode. No a pozniej to najpewniej wyrazenia regularne albo wylawianie wszystkiego co sie zaczyna na "http://" chociaz to moze byc nie pewne. Do biegania po stronach uzyj curla (albo wyciagaj dane oddzielnie dla kazdej strony korzystajac z offsetu paginacji, to jest ?start=xx), chociaz kiedys byla taka opcja by paginowac wyniki co 100 a nie co 10 czy 20 jak to jest naturalnie, ale nie wiem jak to sie robilo/nie pamietam.

Ten post edytował prowseed 2.01.2012, 23:23:15


--------------------
Go to the top of the page
+Quote Post
abort
post 2.01.2012, 23:21:01
Post #3





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

Ostrzeżenie: (0%)
-----


na pytanie pierwsze: if ( ! preg_match ( '#^http://#', $linia)).
Ewentualnie możesz kombinować także z funkcją strpos (wykonuje się szybciej niż preg_match)

Co do drugiego pytania: podkręć jasność wypowiedzi...

Ten post edytował abort 2.01.2012, 23:21:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 10:39