100 Zeichen aus Datei lesen
OCC
- php
Hi!
Könnt ihr mir sagen wie ich nur die ersten 100 zeichen aus einer datei lesen kann?Allerdings ohne HTML-Codes!
Danke im Vorraus
Hi OCC,
Könnt ihr mir sagen wie ich nur die ersten 100 zeichen aus einer datei lesen kann?Allerdings ohne HTML-Codes!
Sollen das 100 Zeichen mit HTML Code sein? Dann kannst du einfach fread() verwenden und den optionalen Parameter für die Länge mit angeben.
Ansonsten liest du die ganze Datei ein, mit strip_tags() sollte es dir gelingen die HTML Tags wegzukriegen. Mittels substr() kannst du dann die ersten 100 Zeichen auslesen.
MfG, Dennis.
Hi!
Könnt ihr mir sagen wie ich nur die ersten 100 zeichen aus einer datei lesen kann?Allerdings ohne HTML-Codes!
Tachen,
also erst eine Gegenfrage: Steht in der Datei auch der HTML-Code? Wenn nicht ist das folgende eine einfache Lösung:
$fp = fopen('myfile.txt', 'r');
$data = fread($fp, 100); // 100 Byte == 100 Zeichen
fclose($fp);
Wenn die Datei auch HTML Code beinhaltet musst du wohl die gesamte Datei lesen und dann die Tags entfernen:
$fp = fopen('myfile.txt', 'r');
$data = fread($fp, filesize('myfile.text') );
fclose($fp);
$data = substr(striptags($data), 0, 100); // lösche tags und reduziere auf 100 Zeichen.
Vielleicht ginge auch die folgende Lösung, wäre eine Idee wenn die Dateien sehr sehr groß sind. Aber ich weiß nicht ob striptags() richtig arbeitet, wenn der String mit z.B. '...asd<href ="' endet...
$data = '';
$fp = fopen('myfile.txt', 'r');
do {
$data .= substr(striptags(fread($fp, 100)), 0, 100-strlen($data));
} while(strlen($data) < 100);
Wie gesagt nur ein schneller Hack ;-)
Viele Grüße
David
$data = substr(striptags($data), 0, 100); // lösche tags und reduziere auf 100 Zeichen.
Danke David, das ist genau das was ich gesucht habe!
Hallo OCC,
Könnt ihr mir sagen wie ich nur die ersten 100 zeichen aus einer datei lesen kann?Allerdings ohne HTML-Codes!
Als Einstieg in die "Problematik" würde sich z.B.:
8.7. Wie isoliere ich Suchstrings aus einem größeren Text?
http://www.php-faq.de/q/q-regexp-grosser-text.html
eignen. Muss man natürlich anpassen und/oder evtl. mehrfach anwenden.
Um die 100 ersten Zeichen zu finden kannst Du dann z.B. allen Text isolieren und dann Alles nach 100 Zeichen abschneiden.
Eine primitive Alternative "zu Fuß" wäre, den Text Zeichen für Zeichen durchzugehen, zu überprüfen ob sich das Zeichen innerhalb von <...> befindet, und wenn nicht dann merken, Zähler mitlaufen lassen, nach 100 "Funden" fertig.
Es gibt sicherlich noch viele weitere Möglichkeiten, und welche Du verwendest hängt nicht unwesentlich von der Grösse der dursuchenden Datei ab.
Grüsse
Frankie
Hello,
Könnt ihr mir sagen wie ich nur die ersten 100 zeichen aus einer datei lesen kann?Allerdings ohne HTML-Codes!
Das ist überhaupt nicht trivial.
Als erstes Solltest Du Dir mal über die Funktionsweise der Funktion strip_tags()
http://de.php.net/manual/de/function.strip-tags.php klar werden.
Wenn die es schafft, auch angeschnittene Tags zu entfernen, hast Du fast schon gewonnen. Sonst wird es Dir nicht erspart bleiben, selbst einen "Tag-Zieher" zu basteln, der das kann, oder von der Datei erheblich mehr Zeichen als 100 einzulesen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom