phpbar.de logo

Mailinglisten-Archive

[php] Wie erstellt man elegant Seiten plus Druckversion?

[php] Wie erstellt man elegant Seiten plus Druckversion?

=?iso-8859-1?Q?Bj=F6rn_Schotte?= bschotte_(at)_kkh-msp.de
Thu, 24 Jun 1999 12:52:32 +0200


Hi,

> Probleme bereiten mir momentan die eingebetteten Links, die (wie bei Heise)
> gerne zum Schluß gelistet werden sollen - ich bin mir sicher, das ich
> dieses in der Hilfe finde: Unter welchem Stichwort sollte man suchen?

a.) "lynx -dump http://blafasel.de/hier/liegt/dein/artikel-inhalt.html"
b.) Datei zeilenweise einlesen, mit strpos nach dem Anchor suchen,
    rausstrippen, internen Zähler inkrementieren und die gestrippte URL
    in ein Array packen, und dann das ganze zum Schluß ausgeben.

    Also mal abstrakt gesehen ungefähr so:

    $zaehler=0;
    while (!feof($fp)) {
      $zeile=fgets($fp,1024);
      [Suche nach http://, Position merken]
      [Anchor entfernen, das ganze in $a[] abspeichern]
      [Text zwischen <A> und </A> ausgeben]
      $zaehler++;
    }

    echo "URLs zu diesem Text:<BR>\n";
    for ($i=0; $i<=$zaehler; $i++) {
      echo "[$i] $a[$i]<BR>\n";
    }

    Ungetestet.

> Layout (Inhaltsspalte und Randspalte mit zuätzlichen Informationen) als
> zwei getrennte Einträge abzulegen, um sie dann in der normalen Webanzeige
> zusammenzubauen, in der Druckversion aber nur die Inhaltspalte zu
> verwenden?

Du meinst also ein vierspaltiges Layout (links und rechts schmale Spalten,
in der Mitte zwei schmale Spalten, die als eine breite Spalte sichtbar
sind)? Dann würde ich von der Programmierung so vorgehen, daß du zwei
Funktionen hast (wie beim PHP Center auch); die erste Funktion erzeugt
dir den Kopf (fängt also z.B. die verschachtelten TABLEs an), die zweite
Funktion schließt die verschachtelten Tables und baut die rechte
Randtablespalte mit auf. Dann hast du "in der Mitte" nur noch den Inhalt:

<?
  [blafaselfoo]
  erzeuge_header();
?>
<!-- Hier dein Inhalt, z.B. obiges Einlesen der Datei -->
<?
  [blafaselbar]
  erzeuge_footer();
?>

erzeuge_header(); beginnt dann mit dem aufbauen der Table, ein <TD
VALIGN=top ALIGN=left>, dann die Navbar, dann ein </TD>, dann ein
<TD VALIGN=top>.

Dann kommt dein Inhalt. erzeuge_footer(); macht ein </TD>, <TD VALIGN=top>,
dann den äußersten Rand, dann </TD></TR></TABLE>.

So ungefähr jedenfalls. Ich hoffe, das ist verständlich. ;)
 
> Eine Druckversion sollte auch IMO - im Gegensatz zu den Webseiten - nicht
> auf mehrere Seiten aufgesplittet werden - wie sehen andere das?

Ja.
-- 
Björn Schotte                                         | Tel : 09353/798-862
Main-Spessart Krankenhäuser und Senioreneinrichtungen | Fax : 09353/798-100
EDV Abteilung                                         | D1  : 0171/5016530


php::bar PHP Wiki   -   Listenarchive