Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL
Antwort schreiben -
Benutzername
Titel
Nachrichtentext

Smilies
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Arrow Neutral
Weitere Smilies ansehen
 Schriftfarbe:  Schriftgröße: Tags schließen
Optionen
HTML ist aus
BBCode ist an
Smilies sind an
BBCode in diesem Beitrag deaktivieren
Smilies in diesem Beitrag deaktivieren
Sicherheitscode Sicherheitscode 
 
Alle Zeiten sind GMT + 1 Stunde
Gehe zu:  
Thema-Überblick
Autor Nachricht
aquatinta
BeitragVerfasst am: 12 Feb 2010 21:40    Titel:

Danke Werner,
es hat wunderbar funktioniert, außer bei dem letzten "-".
aber so ist es ok. Ist ja mehr zum lernen und ich nehme das Script zum automatischen Erstellen der sitemap, denn bei ~80 Seiten ist's schon 'ne Erleichterung.

Nachtrag:
PHP-Code:
1
$titel[1] = str_replace(" - """$titel[1]); 

in
PHP-Code:
1
$titel[1] = str_replace(" -"""$titel[1]); 

(ein Leerzeichen weg) und es funktioniert! :-))

MfG
Christian
Werner
BeitragVerfasst am: 12 Feb 2010 18:56    Titel:

Ja, das wäre auch mein Vorschlag gewesen
die sitemap per Hand zu erstellen.
Gast
BeitragVerfasst am: 12 Feb 2010 18:41    Titel:

Danke für die schnelle Antwort.
Da der head sehr umfangreich ist und mehrere variablen beinhaltet, werde ich die sitemap per hand erstellen.

Aber interessant ist es WARUM es falsch ist <title> zu includen?
das hatte ich nicht gewusst, hat mir aber viel arbeit erspart und wird ohne fehlermeldung geparst und in html validiert.

gruß heinz
Werner
BeitragVerfasst am: 12 Feb 2010 18:31    Titel:

heinz hat Folgendes geschrieben:

doctyp.inc.php = beinhaltet alles bis einschlieslich <body>

Das ist leider falsch, der <title> gehört in jede Seite
und nicht in eine include-Datei.

So funktioniert die Sitemap nicht, weil die Sitemap (die Funktion preg_match())
keine PHP-Variablen auslesen kann Exclamation

Es ist mir klar das deine Seite in verschiedenen Sprachen
angeboten wird, und der <title>-Text sich in $titel befindet
und dieser sich je nach Sprache ändert.

Beispiel wie eine PHP-Datei aufgebaut sein sollte:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title> Seitentitel - meine-homepage.xy </title>
  <meta name="description" content="Seiteninhalt (Beschreibung)">
<?php include ("kopf.inc.php"); ?>
 </head>
<body>

<?php include ("navi.inc.php"); ?>

<div id="inhalt">

   <h1 id="titelzeile"> Titelzeile </h1>

   Inhalt der Seite ...

</div>

<?php include ("fuss.inc.php"); ?>

</body> 
</html>

Mehr dazu unter: Seiten dynamisch mit PHP generieren
Gast
BeitragVerfasst am: 12 Feb 2010 17:40    Titel:

Diese Script steht allgemein für sitemap zur Verfügung:
code:
<?php
// Dateien mit dieser Dateiendung auflisten
$dateiendung =".php";

// Verzeichnisse angeben
$verzeichnis[0] = "../de/";
$verzeichnis[1] = "../en/";
$verzeichnis[2] = "../es/";
$verzeichnis[3] = "../fr/";
$verzeichnis[4] = "../it/";

for ($i=0; $i < count($verzeichnis); $i++) {
echo "<br><b>".$verzeichnis[$i]."</b><br>";
$verz = opendir($verzeichnis[$i]); // Verzeichnis wird geöffnet
while ($file = readdir($verz)) {
if ($file != substr_count($file, $dateiendung) && $file != "." && $file != "..") {
$regs = "";
$datei = fopen($verzeichnis[$i].$file, "r"); // Datei wird geöffnet
$inhalt = fread($datei, 1000); // Datei wird eingelesen
preg_match("/<title>(.*?)</i", $inhalt, $regs); // Text aus <title>-Tag wird extrahiert
if ($regs[1] == "") {$regs[1] = "-Ohne Titel-";} // Kein Titel vorhanden!
// Link wird erzeugt. "nofollow" für Google Spam-Links!
echo "<a href=\"$verzeichnis[$i]$file\" rel=\"nofollow\">$regs[1]</a><br>\r";
fclose($datei); // Datei wird geschlossen
}
}
closedir($verz); // Verzeichnis wird geschlossen
}
?>

und ich schaff es nicht diesen Teil zu ersetzen: "/<title>(.*?)</i"

danke für eure Zeit.
euer heinz
Gast
BeitragVerfasst am: 12 Feb 2010 17:30    Titel:

Oh, danke für die schnelle Antwort, bin überrascht!

code auf der seite "01.php":
<?php
$titel="Willkommen";
$nr1='class="aktiv"';
include "../inc/doctyp.inc.php";
include "../inc/de.inc.php";
?>

doctyp.inc.php = beinhaltet alles bis einschlieslich <body>
de.in.php = beinhaltet Navigation,Fuss und so weiter

in der sitemap möchte ich den titel-tag als seite
stell mich zu blöd an, sorry
und vielen Dank für die Hilfe!!
Werner
BeitragVerfasst am: 12 Feb 2010 10:52    Titel:

Mit dem oberen Beispiel funktioniert das nicht.
Woher soll das Programm wissen zu welcher Datei $seitentitel gehört?
Ein Beispiel mit $seitentitel wäre hilfreich!
Heinz
BeitragVerfasst am: 12 Feb 2010 09:29    Titel: sitemap: titel liegt als variable vor $seitentitel

das ist mein 1. mal!
ich versuche eine sitemap zu erstellen, aber eine seitenmtitel liegen jeweils als variable vor wie $seitentitel.
wie kann diese variante statt des (noch nicht generierten) <titel>-tag einbinden?

DANKE von einem newbie
Werner
BeitragVerfasst am: 12 Feb 2010 08:31    Titel:

Hier eine mögliche Lösung:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
// Verzeichnisname angeben
$verzeichnisname "daten";
// Öffnet das Verzeichnis
$verzeichnis openDir($verzeichnisname);
// Verzeichnis lesen
while ($file readDir($verzeichnis)) {
 
// Dateityp filtern
 
if (strstr($file".php")) {
  
// Datei zum lesen öffnen
  
$datei fOpen($verzeichnisname "/" $file"r");
  
// 1000 Zeichen lesen
  
$inhalt fRead($datei1000);
  
// Datei schließen
  
fClose($datei);
  
// Titelnamen extrahieren
  
preg_match("/<title>(.*?)</i" $inhalt $titel);

 
$titel[1] = str_replace("Firma ABC - """$titel[1]);
 
$titel[1] = str_replace(" - """$titel[1]);

  
// Link erstellen
  
echo "<a href=\"$file\">$titel[1]</a><br>\n";
  unset(
$titel[1]); // Variable löschen
 
}
}
closeDir($verzeichnis); // Verzeichnis schließen
?>
aquatinta
BeitragVerfasst am: 12 Feb 2010 04:15    Titel: Titel auslesen und verlinkt -aber gekürzt-auf Seite ausgeben

Hallo,
ich habe das Script im Einsatz,
http://www.homepage-total.de/php/schreiben_lesen_2.php?seite=1
welches als Sitemap die "Titel" der Seiten ausliest und auch ausgezeichnet funktioniert :-)
Code:

<?php
 // Verzeichnisname angeben
$verzeichnisname = "daten";
// Öffnet das Verzeichnis
$verzeichnis = openDir($verzeichnisname);
// Verzeichnis lesen
while ($file = readDir($verzeichnis)) {
 // Dateityp filtern
 if (strstr($file, ".php")) {
  // Datei zum lesen öffnen
  $datei = fOpen($verzeichnisname . "/" . $file, "r");
  // 1000 Zeichen lesen
  $inhalt = fRead($datei, 1000);
  // Datei schließen
  fClose($datei);
  // Titelnamen extrahieren
  preg_match("/<title>(.*?)</i" , $inhalt , $titel);
  // Link erstellen
  echo "<a href=\"$file\">$titel[1]</a><br>\n";
  unset($titel[1]); // Variable löschen
 }
}
closeDir($verzeichnis); // Verzeichnis schließen
?>

Nun sind die Titel nach dem folgenden Schema geschrieben:
Code:

<title>Firma ABC - Aktuelles - </title>
<title>Firma ABC - Schach-Unterricht - </title>
<title>Firma ABC - Impressum - </title>
usw.

Nun möchte ich gern die Zeichen "Firma ABC" und die "-" vor und nach (nicht die zwischen) den Titeln entfernen,
und weiß nicht wie. :-(

Vielleicht hat jemand eine Lösung?

MfG
Christian