Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wyciąganie tylko adresu URL z href
redelek
post 6.07.2008, 21:06:16
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Witam,

Mam taką regułkę, która powinna wycinać mi same URL z href niestety jest mały problem.
W generowanym pliku jest jedno o taki myglądzie
HREF="place:folder=BOOKMARKS_MENU&folder=UNFILED_BOOKMARKS&folder=TOOLBAR&sort=12&excludeQueries=1&excludeItemIfParentHasAnnotation=livemark%2FfeedURI&maxResults=10&queryType=1"
Mój skrypt wygląda tak

  1. <?php
  2. $strona = file_get_contents("dane_url.html");
  3. preg_match_all("/href=(.*?)(>| )/si", $strona, $znalezione);
  4. $polacz = @mysql_connect('localhost', 'root', '') or die ('Nie mogę wybrać bazy');
  5.  
  6. mysql_select_db('link-test');
  7.  
  8. for ($i=0; $i<count($znalezione[0]); $i++) {
  9.  
  10. $adres = str_replace(array("\"", "'"),"",trim($znalezione[1][$i]));
  11. $zapytanie = "INSERT INTO link_test ( lista_linkow ) "."VALUES ('$adres\n')";
  12.  
  13. mysql_query($zapytanie) or die (mysql_error()) ; 
  14. echo $i.'.'.' <b><font size="3px" color="blue">'.$adres."</b></font><br />";
  15.  
  16. //echo $adres."<br />";
  17. }
  18. ?>

Efekt jest taki że mam jedno pole niepotrzebne. Czy można jakoś to przerobić
by pobierał te pola URL z href które zaczynają się od http i https ?

2. Czy jest możliwość wycięcia danych z <h3>TEST</h3>?

Będę wdzięczny za pomoc

Redelek

Ten post edytował redelek 6.07.2008, 21:07:39


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
leovandamon
post 3.08.2008, 15:52:14
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 5.01.2008
Skąd: Czwarty Świat

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


Punkt 1 - pracuję

Punkt 2:

CODE
$url = 'http://www.google.pl/;
$content = file_get_contents($url);

preg_match("#(.*?)#si", $content, $title);
$title = $title[1];


Tylko że ja używam kodu do wyciągania <title>, więc zmień <title> na <h3> i </title> na </h3>

EDIT: Punkt 1 już jest.
Cały kod:

CODE

// Pobranie zawartości pliku
$url = 'http://www.google.pl/;
$content = file_get_contents($url);

// Wyciągnięcie tekstu spomiędzy tagów <title> i </title>
preg_match("#<title>(.*?)</title>#si", $content, $title);
$title = $title[1];

// Pobranie adresów linków zaczynających się na http://
preg_match_all("#href=\"http://(.*?)\"#si", $content, $links);
array_unique($links);

// Pobranie adresów linków zaczynających się na https://
preg_match_all("#href=\"https://(.*?)\"#si", $content, $links_secure);
array_unique($links_secure);


Wynikiem jest zmienna $title zawierająca tytuł (<title></title>) oraz dwie tablice ($links - linki zaczynające się na http:// oraz $links_secure - na https://).

Pozdrawiam,
Leo van Damon

Ten post edytował leovandamon 3.08.2008, 17:29:38


--------------------
Mój blog: http://test.dragonsheart.eu/
DH Corp: http://www.dhcorp.pl/
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: 18.05.2025 - 08:32