ich bräuchte mal einen Denkanstoß. Ich habe eine Kommentarfunktion und nun will ich überprüfen wie viele Zeilen ein Text hat, da ich vermeiden will das ein Besucher mehrere 100 Zeilenumbrüche macht. Wie würdet ihr das machen?
Habe da noch was gefunden, du könnstest alle \r\n und alle \r die im string mit replace in \n umwandeln und anschliessend den String nach \n aufteilen und die länge daraus entsehenden Arrays Zählen.(im grunde dasselbe wie vorhin erwähnte)
oder er soll auch mit preg_match_all(); seht gut funktionieren, als pattern müsstets du dann ‚#\r?\n#‘ nehmen
Danke mermshaus ich werde es nachher ausprobieren.
Ich habe mittlerweile ein weiteres Problem. Ich will mit der Funktion strtok() testen ob ein Wort länger als 40 Zeichen ist.
Dazu benutzte ich eine while Schleife, aber ich muss irgentwo einen Fehler gemacht haben, denn das Skript 30 Sekunden lang bis eine Fehlermeldung kommt.
[php]
$tok = strtok($_POST[‚kommentar‘],’ -\n\t’);
while ($tok !== false) {
if (strlen($tok) >= 40) {
$error = ‚
Sie haben ein Wort oder ein andere Zeichenfolge in ihrem Kommentar das länger als 40 Zeichen ist. Bitte zerlegen Sie das
Wort/Zeichenfolge durch ein Leerzeichen oder einen Bindestrich
<?php
$string = "Dies ist\tein Beispiel-\nString";
/* Sowohl das Tabulator- als auch das Newline-Zeichen werden
zusätzlich zum Leerzeichen als Token zum Zerlegen verwendet */
$tok = strtok($string, " \n\t");
while ($tok !== false) {
echo "Wort=$tok ";
$tok = strtok(" \n\t");
}
?>
[/PHP]
das $tok wird bei dir am ende der While garnet erneuert, so ist es eine Endlosschleife.
[php]
$tok = strtok($_POST[‚kommentar‘],’ -\n\t’);
while ($tok !== false) {
if (strlen($tok) >= 40) {
$error = ‚
Sie haben ein Wort oder ein andere Zeichenfolge in ihrem Kommentar das länger als 40 Zeichen ist. Bitte zerlegen Sie das
Wort/Zeichenfolge durch ein Leerzeichen oder einen Bindestrich
Sie haben ein Wort oder ein andere
Zeichenfolge in ihrem Kommentar das länger als 40 Zeichen ist.
Bitte zerlegen Sie das Wort/Zeichenfolge durch ein Leerzeichen
oder einen Bindestrich: "‘ . htmlspecialchars($ret) . ‚"