Wie schneide ich ein Stück Text aus einer Textdatei in PHP. Zum Beispiel möchte ich die Zeilen 0-50 herausnehmen und in eine Zeichenfolge umwandeln. Vielleicht sogar eine HTML-Formatierung. Ich weiß schon, welche Linien ich ausschneiden muss, ich weiß einfach nicht, wie ich sie auswählen und zu einer Schnur zusammenfügen soll.PHP - Wie schneide ich einen Zeilenblock in einem Textdokument aus?
Antwort
explodieren auf neue Zeile und geben Sie die Array-Werte von 0-50.
explodieren ist nicht sehr effizient, wenn Sie große Dateien haben. Neben dem möglichen Geschwindigkeitsproblem benötigen Sie 2x mehr Speicher. Es ist besser, zeilenweise mit fgets zu lesen oder die Funktion file() zu verwenden, wie es Oliver A. vorgeschlagen hat. –
schlag dich dazu. ;) – DampeS8N
Verwenden Sie die Datei ($ filename). Das Ergebnis ist ein Array, bei dem jedes Element eine Zeile aus Ihrer Datei ist. Probe:
$lines = file("foo.txt");
//extract desired lines
$lines = array_slice($lines,19,21);
$string) implode("\n",$lines);
http://php.net/manual/en/function.file.php –
ja, du hast Recht. Überlasse es mir, es zu überdenken. – DampeS8N
Weniger speicherintensiven Ansatz:
$fileObject = new SplFileObject('yourFile.txt');
$fileIterator = new LimitIterator($fileObject, 0, 49);
$firstFiftyLines = implode(iterator_to_array($fileIterator));
oder als Alternative
$fileObject = new SplFileObject('yourFile.txt');
$fileIterator = new LimitIterator($fileObject, 0, 49);
$firstFiftyLines = '';
foreach ($fileIterator as $currentLine) {
$firstFiftyLines .= $currentLine;
}
Wenn Sie andere Linien benötigen, zum LimitIterator die zweite und dritte Argument ändern. Die erste startet den Offset, die zweite Iteration (in diesem Kontext die zu lesenden Zeilen).
Kennzeichnung Antwort CW weil Frage (und Antwort) ein Duplikat Read a file from line X to line Y?
- 1. PHP: Wie "schneide" ich mein Array?
- 2. Wie schneide ich Dreiecke aus einer konkaven Delaunay-Triangulation?
- 3. Wie schneide ich Teile eines großen Bildes zu einem ImageView
- 4. Wie schneide ich ein Array mit einem i32-Limit?
- 5. Summieren einer Liste von Zahlen aus einem Textdokument
- 6. Wie "schneide" ich einen Teil einer Zeichenkette mit einer Regex aus?
- 7. Wie entferne ich einen Teilstring aus einem String mit PHP?
- 8. Groovy Weg zum Auswählen von Zeilenblock aus einer Liste
- 9. Wie findet man das längste Wort in einem Textdokument?
- 10. Wie neue Zeile in einem Textdokument gehen VB.Net mit
- 11. PHP Ich referenziere einen bestimmten Array-Artikel aus einem Formular
- 12. Wie kann ich ein mehrseitiges Textdokument aus einer einzelnen Seitenvorlage in Google-Apps-Skript generieren?
- 13. PHP einen Teilstring aus einem String
- 14. Wie kann ich eine Mehrfachberechnung in ein vim-Textdokument einfügen?
- 15. Applescript Suchen und Ersetzen in Textdokument aus Excel-Tabelle
- 16. Wie finde ich einen String in einem Array in PHP?
- 17. wie aus einem String in PHP
- 18. Text an Zeilen im Textdokument anfügen, mit PHP
- 19. (PHP) zufällig einen 10-Wort-Satz in ein großes Textdokument einfügen
- 20. Wie schneide ich die Hälfte eines Thanksgiving-Truthahns?
- 21. Wie schneide ich die Textansicht nach 20 Zeichen ab?
- 22. Wie Eigenschaften aus einem Objekt in PHP
- 23. Wie führe ich einen cfdump in einem cfscript-Tag aus?
- 24. Wie setze ich Daten aus einem OutputStream in einen ByteBuffer?
- 25. Wie extrahiere ich einen Teilstring aus einem String in PHP, bis er ein bestimmtes Zeichen erreicht?
- 26. Wie führe ich einen SSH-Befehl in einem BASH-Shell-Skript über ein PHP-Programm aus?
- 27. Wie bekomme ich einen Wert aus Duplikaten in einem multidimensionalen Array mit PHP?
- 28. In einer Spark-Streaming-Anwendung, wie die Funktion lines.map() nach einem Zeilenblock ausgeführt wird.foreREDD() führt die Ausführung aus
- 29. Wie führe ich eine Datenbank einfügen aus einem PHP-Formular
- 30. Wie wähle ich einen Wert in einem Dropdown in einer Tabelle aus?
Wie sind Ihre Linien abgegrenzt? Harte Rückkehr? Wenn dies der Fall ist, können Sie Ihre Zeichenfolge in ein Array explodieren und dann die ersten 50 (0-49) Zeilen aus dem Array nehmen. – CrowderSoup
Hier ist eine sehr ähnliche Frage, wie Sie die ersten 20 Zeilen einer Textdatei erhalten: http://stackoverflow.com/questions/4410077/remove-all-lines-except-first-20-using-php/4410128#4410128 –
@Surreal das ist eine andere Frage, wenn es darum geht, arbirtrary Blöcke aus dem Text – Gordon