PHP Verbesserung Script Link aus txt-Datei

HTTT

Grünschnabel
Hallo,

ich lass über eine erzeugte Textdatei Links in meine HP einlesen.

Inhalt Textdatei:
http://www..../forum/index.php/topic,4283.msg64161.html#Anleitung
http://www....t/forum/index.php/topic,4283.msg64161.html#Problem
http://www....t/forum/index.php/topic,4283.msg64161.html#Zusagen

Code der PHP-Datei
PHP:
<body>

<div id="faq">
<p><a href="../main/index.htm" class="home"></a></p>
<div id="frame">
<div class="abstand_iframe">
<div class="scrollbereich">
<div class="scrollbarabstand">

<?php

$datei = fopen("liste.txt", "r") ;
while (!feof($datei)) {
 $zeile = fgets($datei, 512) ;
 $eintrag = explode("#", trim($zeile)) ;
?>

<p class="frage"><A href="<?php echo $eintrag[0]; ?>">
   <?php echo basename($eintrag[0]); ?></A></p>
  <?php echo $eintrag[1]; ?>
 

<?php
} // Ende der while-Schleife
fclose($datei) ;?>
</div>
</div>
</div>
</div>
</div>
</body>
Jetzt wird leider nur der Link angezeigt.
Was müsste man ändern, das nur der Eintrag nach dem # in der Textdatei angezeigt wird aber unterlegt mit dem Link

Danke für Hilfe
 
Das geht zwar noch hübscher, aber sollte funktionieren. Wenn du Fragen hast, bitte.

PHP:
<?php
$array = file('text.php');

foreach($array as $line) {
	$line = preg_replace('/(.+)(#.+)/', '<a href="\\1\\2">\\2</a>', $line);
?>
<p class="frage"><?php echo $line; ?></p>
<?php } ?>
 
Hallo,

geht leider nicht :confused:
Hatte ein Fehlermeldung wegen dem Schleifenende (keine Seite wurde angezeigt!)


Kannst du bitte noch einmal drüberschaun :)
Danke

PHP:
<body>

<div id="faq">
<p><a href="main/index.htm" class="home"></a></p>
<div id="frame">
<div class="abstand_iframe">
<div class="scrollbereich">
<div class="scrollbarabstand">

<?php
$array = file('text.php');

foreach($array as $line) {
    $line = preg_replace('/(.+)(#.+)/', '<a href="\\1\\2">\\2</a>', $line);
?>
<p class="frage"><?php echo $line; ?></p>
<?php } ?> 
 

<?php
} // Ende der while-Schleife
fclose($datei) ;?>

</div>
</div>
</div>
</div>

</div>
</body>
 
Zuletzt bearbeitet:
PHP:
<body>

<div id="faq">
<p><a href="main/index.htm" class="home"></a></p>
<div id="frame">
<div class="abstand_iframe">
<div class="scrollbereich">
<div class="scrollbarabstand">

<?php
$array = file('text.php');

foreach($array as $line) {
    $line = preg_replace('/(.+)(#.+)/', '<a href="\\1\\2">\\2</a>', $line);
?>
<p class="frage"><?php echo $line; ?></p> 

<?php
} // Ende der while-Schleife
fclose($datei) ;?>

</div>
</div>
</div>
</div>

</div>
</body>

Da war eine } zu viel. So sollte es gehen..
 
Geht leider immer noch nicht, sorry :rolleyes:

muss dieser Teil nicht raus oder anders beschrieben werden?
PHP:
<?php
} // Ende der while-Schleife
fclose($datei) ;?>

das habe ich auch geändert
PHP:
$array = file('text.php');
in index.php

die daten werden mit diesem Code nach Änderungen leider nicht eingelesen

Vielleicht könnt ihr noch einmal....
DANKE!!
 
Stimmt, ich hatte nur auf die Klammern geachtet. Deine Funktion "fclose" kannst du ebenfalls löschen.

Gibt PHP eine Fehlermeldung aus oder werden einfach die Daten nicht angezeigt?
 
Ähm ... hast du geschaut ob dein Textfile so heisst wie es in file('text.php') steht?

Ich poste jetzt noch einmal den ganzen Code, ok? Ich dachte Grundlagen wären vorhanden.

PHP:
<body>

<div id="faq">
<p><a href="main/index.htm" class="home"></a></p>
<div id="frame">
<div class="abstand_iframe">
<div class="scrollbereich">
<div class="scrollbarabstand">

<?php
$array = file('liste.txt');

foreach($array as $line) {
    $line = preg_replace('/(.+)#(.+)/', '<a href="\\1\\2">\\2</a>', $line);
?>
<p class="frage"><?php echo $line; ?></p>
<?php } ?> 

</div>
</div>
</div>
</div>

</div>
</body>
 
Ähm ... hast du geschaut ob dein Textfile so heisst wie es in file('text.php') steht?
Ich poste jetzt noch einmal den ganzen Code, ok? Ich dachte Grundlagen wären vorhanden.

Grundlagen sind , sagen wir : am aufbauen!
aber dazu gibt es ja tollen Foren und tollen Helfer, Danke Dir

PS: ich seh gerade das # mit ausgegeben wird
Kann das noch weg?
 
Was ich nicht verstehe ist warum man das nicht mit zwei explodes löst ?

Einmal
PHP:
explode("\n", $text);

für die zeilen, dann mit einem for durchlaufen und dann mit

PHP:
explode("#", $exploded_text);

den Text und Link trennt.
Dürfte wohl auch schneller sein als preg_match
 
Zurück