login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Titel ophalen lukt niet.

Offline JPW120 - 10/03/2009 16:14 (laatste wijziging 10/03/2009 16:38)
Avatar van JPW120HTML interesse Beste leden,

Dankzij JeXuS en Ontani zijn hulp heb ik een klein scriptje geschreven die de titel van een pagina op kan halen met php dit werkt perfect. Totdat ik de titel van pagina's op mijn eigen pc wil halen.
  1. echo gettitel("http://www.smashingmagazine.com/2007/04/18/14-tab-based-inferface-techniques/"); // werkt perfect
  2. echo gettitel("http://www.nu.nl/"); //idem dito
  3. echo gettitel("http://localhost/"); //werkt niet
  4. echo gettitel(); // werkt niet
  5. echo gettitel("http://localhost/losse-functies/stats/"); // idem dito
  6. echo gettitel("http://localhost/losse-functies/stats/vb/"); // the same problem
  7. ?>

code
Weet iemand hoe ik dit wel werkend krijg?
Mvg JPW120

8 antwoorden

Gesponsorde links
Offline MiST - 10/03/2009 16:20
Avatar van MiST Lid probeer eens in je methode getTitel() de methode file_get_content()?
Naar mijn weten is die iets beter geschikt denk ik...

Moet je ook al die fopen ed shizzle niet hebben, want das gwn een grote string 
Offline Wim - 10/03/2009 16:26 (laatste wijziging 10/03/2009 16:26)
Avatar van Wim Crew algemeen
  1. if(preg_match('{<title[^<>]*>((?:(?!</title>).)+)</title>}is', fgets($fh,4096), $matches)){


Je haalt al je data per 4kiB op en controleert enkel de huidige 4kiB. Mogelijk staat je title net tussen het eerste en het 2de deel data, zodat deze regex nooit zal werken.

De methode van MiST zal hier een oplossing bieden!

Als dit niet het geval is; probeer dan eens om de pagina op te halen en te echo'en ipv te controleren dmv een regex, zo zie je op welke string je je regex uitvoert :-)
Offline JPW120 - 10/03/2009 16:29 (laatste wijziging 10/03/2009 16:37)
Avatar van JPW120 HTML interesse @MiST Ik heb wat geprobeert maar dat lukt ook niet hebt u een code voorbeeld.

@Wimmarien met uw nieuwe code lijn werkt ook niet . 
Offline Wim - 10/03/2009 17:15
Avatar van Wim Crew algemeen mijn nieuwe code lijn??? het is een exacte kopie uit je eigen script om duidelijker te laten zien waarover ik het had...

Als je nu m'n post nog eens even aandachtig wil doorlezen (vooral de laatste alinea) dan weet je misschien al waar je probleem zit....
Offline JPW120 - 10/03/2009 18:26
Avatar van JPW120 HTML interesse Haastige spoed is ......
Ik snapte helemaal niets van zijn post, "Moet je ook al die fopen ed shizzle niet hebben, want das gwn een grote string " wat is shizzle.

Wat morgen update ik deze post wel even, ik moet nu weg alvast bedankt voor uw moeite.  
Offline Wim - 10/03/2009 18:42
Avatar van Wim Crew algemeen PHP.net: file_get_contents

We love php.net!
Offline maigel - 10/03/2009 22:39
Avatar van maigel PHP beginner
JPW120 schreef:
Haastige spoed is ......
Ik snapte helemaal niets van zijn post, "Moet je ook al die fopen ed shizzle niet hebben, want das gwn een grote string " wat is shizzle.

Wat morgen update ik deze post wel even, ik moet nu weg alvast bedankt voor uw moeite.  

shizzle betekent normaal sure, maar hij gebruikt het in de zin van 'rommel' of hoe ik het ook moet uitleggen
Offline YesItIsChris - 04/02/2010 16:33 (laatste wijziging 04/02/2010 16:39)
Avatar van YesItIsChris Nieuw lid
MiST schreef:
probeer eens in je methode getTitel() de methode file_get_content()?
Naar mijn weten is die iets beter geschikt denk ik...

Moet je ook al die fopen ed shizzle niet hebben, want das gwn een grote string 


file_get_contents (ja met de s) geeft tog ook een string terug?

"yo check die shizzle dude"

  1. function getTitle( $sAddress )
  2. {
  3. $sSource = @file_get_contents( $sAddress );
  4. if( $sSource == false || !is_string( $sSource ) )
  5. {
  6. return false;
  7. }
  8.  
  9. if( preg_match( '{<title[^<>]*>((?:(?!</title>).)+)</title>}is', $sSource, $aMatch) )
  10. {
  11. return $aMatch[ 1 ];
  12. }
  13. return false;
  14. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s