Titel auslesen und verlinkt -aber gekürzt-auf Seite ausgeben


 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
aquatinta
Mitglied

BeitragTitel auslesen und verlinkt -aber gekürzt-auf Seite ausgeben Antworten mit Zitat

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
12 Feb 2010 04:15
Benutzer-Profile anzeigen Private Nachricht senden
axinio Internet Marketing
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

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
?>

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
12 Feb 2010 08:31
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Heinz
Gast

Beitragsitemap: titel liegt als variable vor $seitentitel Antworten mit Zitat

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
12 Feb 2010 09:29
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

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!

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
12 Feb 2010 10:52
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gast


Beitrag Antworten mit Zitat

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!!
12 Feb 2010 17:30
Gast


Beitrag Antworten mit Zitat

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
12 Feb 2010 17:40
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

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

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
12 Feb 2010 18:31
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gast


Beitrag Antworten mit Zitat

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
12 Feb 2010 18:41
Werner
Homepage-Total.de
Moderator

Beitrag Antworten mit Zitat

Ja, das wäre auch mein Vorschlag gewesen
die sitemap per Hand zu erstellen.

_________________
Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt
12 Feb 2010 18:56
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
aquatinta
Mitglied

Beitrag Antworten mit Zitat

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
12 Feb 2010 21:40
Benutzer-Profile anzeigen Private Nachricht senden
axinio Internet Marketing
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  

Ähnliche Beiträge
Thema Webmaster Forum Antw. Autor Verfasst am
Keine neuen Beiträge Array bis zu bestimmtem Text auslesen PHP / MySQL 6 avatar3d 25 Jan 2012 13:57 Letzten Beitrag anzeigen
Keine neuen Beiträge Bilder auslesen begrenzen PHP / MySQL 4 Mike 06 Dez 2011 20:13 Letzten Beitrag anzeigen
Keine neuen Beiträge PHP-Navigation- Die aktuelle Seite he... Hilfe für Webmaster 0 LkBibo 19 Nov 2011 23:27 Letzten Beitrag anzeigen
Keine neuen Beiträge Angehängte Bilder werden übermittelt,... PHP / MySQL 3 Casadero 19 Nov 2011 19:17 Letzten Beitrag anzeigen
Keine neuen Beiträge Super Sache, aber bitte die Fenster G... PHP / MySQL 4 Casadero 27 Okt 2011 00:11 Letzten Beitrag anzeigen