Ziel ist es, ein Chat-Protokoll auf maximal 100 Zeilen zu kürzen (wenn jede neue Zeile hinzugefügt wird), indem die Datei von der Festplatte in eine Zeichenfolge (anhängendes \ n \ n) gelesen und dann abgeschnitten wird Funktion preg_match ein Muster von bis zu 100 Zeilen und geben Sie die erste Instanz dieser Übereinstimmung, dann schreiben Sie die Übereinstimmung auf die Datei.php truncate mit grep preg_match
Das funktioniert alles ohne die Funktion truncate. Das preg_match-Muster wird in einer TextWrangler-Datei korrekt ausgewählt. Das Hinzufügen der abgeschnittenen Funktion führt jedoch dazu, dass der gesamte Text gelöscht wird.
$existing= file_get_contents('LOG.txt') ;
// get new text-line $addnew from POST
$addnew=$addnew."\n\n";
$newlog = $addnew.$existing ;
$newlog = truncate ($newlog) ;
file_put_contents('LOG.txt',$newlog);
function truncate ($string) {
preg_match('#^[(.*?)\n\n]{0,100}#',$string,$match);
if (isset ($match[0])) {
$string=$match[0];
}
return $string ;
}
Was braucht das? Vielen Dank.
Verwenden Sie Zeichenklasse nicht, verwenden Sie stattdessen: '^ (.? * \ N \ n) {0.100}' – Toto
Perfect. Vielen Dank. – Andante88
Was hat das mit dem UNIX-Tool 'grep' zu tun? Wenn die Antwort nichts ist, wie es scheint, dann bearbeiten Sie bitte Ihre Frage, um das Tag zu entfernen. –