Seite 1 von 1

PHP Problem: aus Preg_Match Treffer globale Variable machen

Verfasst: 20.03.2007, 16:23
von chris21
Ein bisschen verstehe ich ja inzwischen von PHP, aber bei folgendem Problem beißt mein Intellekt sich gerade die Zähne aus - oder ich bin wieder blind:

Also, ich lese den Title-Tag einer Datei (durch fopen und eine While-Schleife mit einem Preg_Match) aus und will dann das erste Wort aus diesem Title-Tag in eine globale Variable verwandeln, auf die ich auch außerhalb dieser Funktion zugreifen kann. Aber irgendwo hakt es.

So sieht derzeit der Code aus:

Code: Alles auswählen

$datei = @fopen($dateiname,"r");	
while($zeile=fgets($datei,1024))
{
$titelneu=preg_match&#40;"#<title>&#40;.*&#41; bei &#40;.*&#41;</title>#", $zeile, $titelname&#41;;
&#125;
fclose&#40;$datei&#41;;
Jetzt könnte ich direkt mit

Code: Alles auswählen

echo $titelname&#91;1&#93;;
innerhalb dieser Schleife das erste Wort (also das vor dem "bei" der ausgelesenen Datei) ausgeben. Ich will es aber außerhalb dieser Schleife als Variable zur Verfügung stellen, also z.B.

Code: Alles auswählen

$seitenname=$titelname&#91;1&#93;;
und dann irgendwo anders (also außerhalb der Funktion und Schleife) $seitenname ausgeben.

Nur das geht nicht. Irgendwie geht der Inhalt von titelname[1] immer verloren, auch wenn ich z.B. vorher $seitenname als global definiere.

Hat da jemand eine Lösung oder Erklärung, wo mein Denkfehler steckt?

Vielen Dank und viele Grüße

Chris

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Re: PHP Problem: aus Preg_Match Treffer globale Variable mac

Verfasst: 20.03.2007, 16:38
von net(t)worker

Code: Alles auswählen

$datei = @fopen&#40;$dateiname,"r"&#41;;	
while&#40;$zeile=fgets&#40;$datei,1024&#41;&#41;
&#123;
if &#40;preg_match&#40;"#<title>&#40;.*&#41; bei &#40;.*&#41;</title>#", $zeile, $titelname&#41;&#41;
&#123;
$GLOBALS&#91;'seitenname'&#93;=$titelname&#91;1&#93;;
&#125;
&#125;
fclose&#40;$datei&#41;;
Die Var nur zuweisen wenn es matcht, ansonsten weiste beim nächsten durchlauf der whileschleife eine leere Var zu... :wink:

Verfasst: 20.03.2007, 17:07
von chris21
@Nettworker:

bestens, das war es (ähem... natürlich).

Vielen Dank, Nettworker. :smile:

Da war wohl mein Kopf so leer wie die Variable nach dem zweiten Durchlauf... :roll:

Viele Grüße

Chris21