WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » include eine datei ODER include andere Datei » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Ori
Ich habe noch eine RegExp-Variante gebastelt, die wohl bessere Dienste leisten wird:
1: 
2: 
3: 
4:
// nach dem News-Link suchen
$vorher = '/href="news(\d+).htm"/';
$nachher = 'href="news.php?seite=\1"';
echo preg_replace($vorher, $nachher, $news);
von Ori
Dein Problem ist wohl, dass Du das Linkziel ändern willst, sodass es wieder auf Dein Skript zeigt und Du so die Navigation einbauen kannst?

Wenn Du per include() beigehst, wird der Inhalt sofort ausgegeben. Du müsstest ihn jedoch abfangen und das Linkziel ändern (in soetwas wie news.php?seite=xxx). Diese Seitenzahl müsste dann im include() stehen:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
// Seitenzahl abfragen
$seite = intval($_GET['seite']);
if ($seite < 1 || !file_exists('news' . $seite . '.htm'))
   $seite = 1;

// Inhalt selbst einlesen
$news = file_get_contents('news' . $seite . '.htm');

// nach dem News-Link suchen
$splitter = explode(' href="news');
echo $splitter[0];
for ($i = 1, $len = count($splitter); $i < $len; ++$i)
{
   // den Punkt vom .htm suchen
   $punkt = strpos($splitter[$i], '.') - 1;
   // Neues Linkziel zusammensetzen und ab dem " wieder ausgeben.
   echo ' href="news.php?seite=', substr($splitter[$i], 0, $punkt), strstr($splitter[$i], '"');
}


Achja: Das ist deutlich langsamer als include(). Du solltest lieber ein eigenes News-Skript schreiben..
von weisseweste
sehr einfach gesagt ....

bei mir GET da nix.

in den posts hab ich auch nichts gefunden, womit ich etwas anfangen kann.
von chip
Ganz klar. Woher soll denn die Datei wissen, welche Datei includet werden soll? Du musst hier mit GET-Variablen arbeiten, wie schon MEHRFACH in mehreren Posts beschrieben. Die Forensuche sollte Dir weiterhelfen.
von weisseweste
Hallo zusammen.

ich habe das Problem, daß ich ein News script verwende, das ich in eine Datei "news.php" includet habe... und zwar mit dem Befehl: <?php include("./news.htm"); ?>

Das Resultat ist korrekt, im Browser wird die Datei "news.php" angezeigt (Navigation +Layout), in der 7 news (aus der Datei "news.htm") dargestellt werden.

Mein Problem nun ... falls es mehr als 7 news sind, legt das script eine 2. Datei an mit Namen "news2.htm" und am Ende der Datei "news.htm" ist der Link "Seite 2" verfügbar.
Klicke ich nun auf "Seite 2", so wird lediglich die Datei "news2.htm" dargestellt, aber nicht mehr includet in der Datei "news.php". So fehlt mir dann die gesamte Navigation, die in der news.php drin ist.

Ich bräuchte daher einen Befehl, der sowas wie "include in die Datei "news.php" ENTWEDER "news.htm" ODER "news2.htm".

gibt es das? bzw. Wie gehts?

danke schon mal...

Nach oben