Leerzeichen entfernen

low-group

Erfahrenes Mitglied
Hallo,

wie kann ich aus einem Text alle Leerzeichen hinter dem letzten Zeichen jeder Zeile entfernen, sodaß der zeilenumbruch immer direct hinter dem letzten zeichen erfolgt ?
Es kommt öfters mal vor, daß jemand per Copy/Paste einen Text postet und dieser dann viele Leerzeichen nach dem letzten "echtem" Zeichen enthält, bevor der eigentliche Zeilenumbruch kommt und diese möchte ich vor dem Speichern halt entfernen.

Jemand nen Tip ?
 
Klor.
Du kannst ja in PHP jeden String wie einen Array aufrufen, also:
$dein String = "hallo";
$deinString[0] wäre dann "h"
$deinString[1] = wäre dann "a"
$deinString[2] = wäre dann "l"
usw....

jetzt musst du noch ne Schleife basteln, die den String von hinten ausliest und bis zum 1. Char, der nicht " " (leerzeichen) ist, alles wegnimmt.

$StringLaenge = $deinString.length() - 1; // letzte Stelle im Array
DO
$StringLaenge--;
WHILE $deinString[$StringLaenge] = ' ' ;

Hiernach solltest du die Position deines letzten Chars in deinem String haben.
Die Ausgabe musst du dir noch basteln. dann biste fäddch.

.... Aber es gibt bestimmt ne bereits bestehende Funktion, die das schon kann.... :-)

Hoffe ich konnte dir helfen

WuScHiBuBu
 
das is ja schonmal nen anfang, nur da macht er dies nur ganz am Anfang und in der letzten Zeile, muß ich nun den ganzen Text in einzelne Zeilen aufteilen und jede Zeile einzeln abarbeiten?

Edit: da is ja schon nen Beitrag dazugekomen ;)

gleich mal testet, thx
 
mit file() kann ich ja eine Datei zeilenweise in Arrays aufteilen, geht dies auch mit einem text, der nicht in einer Datei ist, sodaß ich dann in jeder Zeile dieses trim() anwenden kann?
 
Nein, aber Du kannst einen Text mit der Funktion [phpf]explode[/phpf] in ein Array aufteilen. Das Trennzeichen ist dann ein Zeilenumbruch ("\n").
 
Mal am Rande. Was WuschiBuBu anmerkt ist nur noch bedingt richtig. Ein String sollte nicht mehr explizit als Array angesehen werden. Ein Zugriff auf die einzelnen Buchstaben sollte nur noch über geschwungene Klammern erfolgen.
Code:
$string{3}
Ist aber von der Funktionalität gleichzusetzen.
 
hab das mal so versucht, aber geht irgendwie nicht:

PHP:
 $ttt = explode("\n",$text);
$i=1;
while
{
$test1 = rtrim($ttt[$i]);
$i++;
}
$test2 = imploid($test1);
echo $test2;

PS: muß erstmal weg....
 
Oh Gott :rolleyes: ;)

PHP:
<?php
$ttt = explode("\n", $text);
for ($i = 0; $i < count($ttt); $i++) {
    $tmp[$i] = trim($ttt[$i]);
}
echo implode("", $tmp);
?>
 
Zurück