Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wyszukiwanie wyrazow w pliku tekstowym
lukash82
post 17.07.2007, 09:15:24
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam. Mam dosc obszerny plik z roznymi danymi do pszeszukania. Chcialbym z tego chaosu wydobyc wszystkie adresy mailowe. Napisalem cos takiego narazie:
  1. <?php
  2. $plik = fopen("test.txt","r");
  3. $pobrany_plik = fread($plik,10000);
  4. fclose($plik);
  5. $szukany = '^*[@]$';
  6. if (ereg($szukany, $pobrany_plik)) {
  7. echo " $szukany"."<br/>";
  8. } else {
  9. echo "NIE ZNALEZIONO";
  10. }
  11. ?>

Ale niestety wywala mi blad

Warning: ereg(): REG_BADRPT: in c:\usr\krasnal\www\inne\nowy.php on line 6

w warunku do wyszukiwania. Czytalem troche o wyrazeniach regularnych ale nie wiem co moze byc w tym warunku zle:/ Probowalem tez z funkcja preg_match ale tam mam problem z wymysleniem warunku bo co nie wpisze to wywala mi jakis blad, ze nie zna jakiegos symbolu w warunku...
  1. <?php
  2. $plik = fopen("test.txt","r");
  3. $pobrany_plik = fread($plik,10000);
  4. fclose($plik);
  5. preg_match ("^*[@]$", $pobrany_plik, $znalezione);
  6. echo $znalezione[0];
  7. ?>

Moze Wy wiecie jaki warunek zadeklarowac, zeby zaczelo to wreszcie dzialac? Pozdrawiam, Łukasz
Go to the top of the page
+Quote Post
pawel81
post 17.07.2007, 09:22:26
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 28.04.2007

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


zastąp tym
  1. <?php
  2. "^.+@.+..+$"
  3. ?>
Go to the top of the page
+Quote Post
lukash82
post 17.07.2007, 09:33:28
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


No niestety, nie dziala:/ Ereg wywala taki tekst:

ZNALEZIONO: wyraz '^.+@.+\..+$'

a preg_match taki blad:

Warning: No ending delimiter '^' found in ...
Go to the top of the page
+Quote Post
b_chmura
post 17.07.2007, 10:21:49
Post #4





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


To Tym biggrin.gif
Kod
"/([a-zA-Z0-9._-]+@[a-zA-Z0-9-_]+\.[a-zA-Z0-9]{2,4})/"
Go to the top of the page
+Quote Post
lukash82
post 17.07.2007, 11:16:44
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Ok. Ten warunek dziala z preg_match. Ale pojawil sie kolejny problem bo znajduje mi tylko pierwsze wystapienie wyrazu zawierajacego @ i dalej juz nie leci. Probowalem rozbic ten wynik funkcja foreach:
  1. <?php
  2. $plik = fopen("test.txt","r");
  3. $pobrany_plik = fread($plik,10000);
  4. fclose($plik);
  5. preg_match ("/([a-zA-Z0-9._-]+@[a-zA-Z0-9-_]+.[a-zA-Z0-9]{2,4})/", $pobrany_plik, $znalezione);
  6.  // echo $znalezione[0]; 
  7. foreach ($znalezione as $files)
  8. {
  9.  echo $files;
  10. }
  11. ?>

ale chyba przedobrzylem. Z tego co widze funkcja preg_match wypelnia mi tak jakby pierwszy indeks tablicy i wiecej wynikow juz nie szuka w pliku zrodlowym. Macie pomysl jak to zapetlic zeby przeszukalo caly plik? Pozdrawiam

Ten post edytował lukash82 19.07.2007, 08:44:14
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: 19.07.2025 - 18:20