tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
332
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    djscorpion djscorpion ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    121
    Hallo Leute =)
    ich hab einen String, bei dem ne Menge drin is :-D
    Es gibt innerhalb dieses Strings folgende Stelle:
    HTML-Code:
    <center><font size='1' face='Verdana'>FINDE_MICH</font></center>
    Diese Stelle ist einzigartig in dem String. Allerdings möchte ich nur den Inhalt haben ("FINDE_MICH").

    Mit preg_match wollte ich den Inhalt gerne rausfiltern jedoch bekomm ich das Pattern nicht hin, dass mir die Stelle rausfindet.... im Moment bin ich soweit:
    Code :
    1
    
    /^(<center><font size='1' face='Verdana'>)(.*)(</font></center>)$/

    Komischerweise krieg ich dabei sogar folgenden Fehlermeldung:
    Code :
    1
    
    PHP Warning: preg_match() [function.preg-match]: Unknown modifier 'f' in C:\Inetpub\wwwroot\Mittagessen\test\test.php on line 5

    Kann mir jmd helfen?
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Code :
    1
    
    /^<center><font size='1' face='Verdana'>([^<]+)<\/font><\/center>$/
     
    Markus Wulftange

  3. #3
    djscorpion djscorpion ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    121
    Also mein Testcode ist jetzt folgender:
    PHP-Code:
    <?php

      $content 
    file_get_contents("http://hard.fm/index.php");
      
    $pattern "/^<center><font size='1' face='Verdana'>([^<]+)<\/font><\/center>$/";
      
    preg_match($pattern,$content,$ergebnisse);
      
    print_r($ergebnisse);
    ?>
    Jedoch bekomm ich nur ein Array () zurück....
    Wie kann das sein?
    In dem Beispiel hier steht im Quellcode der Site http://hard.fm/index.php im Moment das hier:
    HTML-Code:
    <center><font size='1' face='Verdana'>Maniax Dj - Live at HARD.fm (29-08-2006)</font></center>
    ...also wie kommts, dass er das nich findet?

    Q.Q
     

  4. #4
    Registriert seit
    Mar 2004
    Beiträge
    490
    Weil dein Pattern mit "^" beginnt und mit "$" aufhört.
    ^ steht für "beginnend mit"
    $ steht für "endend mit"

    Bei einer Website, wird sicherlich noch eine ganze andere Menge drumherum sein, von daher wird Varianle $content niemals am Anfang ein "<center>" und am ein "</center>" stehen.

    Beispiel
    PHP-Code:
    $a "string";
    $pattern1 '/in/i'
    preg_match($pattern1$a); // okay geht
    $pattern2 '/^in$/i';
    preg_match($pattern2$a); // wird nichts finden
    $a 'in';
    preg_match($pattern2$a); // okay geht 
     

Ähnliche Themen

  1. Simple Regex für XSD-Pattern
    Von Thomas D im Forum Coders Talk
    Antworten: 3
    Letzter Beitrag: 12.03.09, 11:30
  2. Negation von Pattern bei regex
    Von KhanQQ im Forum Java
    Antworten: 7
    Letzter Beitrag: 02.07.08, 15:04
  3. RegEx: Wiedermal das Preis pattern :D
    Von djscorpion im Forum PHP
    Antworten: 7
    Letzter Beitrag: 04.02.08, 14:57
  4. [REGEX] 2 Objecte in Pattern auslesen.
    Von DelphiDell im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.12.05, 15:31
  5. Spezielle RegEx-Pattern gesucht
    Von ReemE im Forum PHP
    Antworten: 10
    Letzter Beitrag: 24.07.05, 17:55