Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zeilenumbruch per PHP verhindern

Frage Entwicklung PHP

Mitglied: Kallinger

Kallinger (Level 2) - Jetzt verbinden

05.04.2010, aktualisiert 25.05.2010, 6250 Aufrufe, 9 Kommentare

Hi@ all!

Ich habe ein kleines Problem bei einer PHP Funktion! Hier ist erst mal der Code:

01.
 
02.
foreach (glob("$source_path*.txt") as $filename) { 
03.
    				$dfeld = file($filename); 
04.
				$temp = $dfeld[37].$dfeld[38]; 
05.
				echo $temp."<br />"
06.
07.
 
So! Wie ihr seht, öffent das Ding einige Dateien und soll die 37 und 38. Zeile zusammnfügen und diese ausgeben... Das macht das Script auch ganz brav!
Aber, die Ausgabe ist leider falsch! Wie ihr auch erkennen könnt ist der (gesuchte) Text auch auf 2 Zeilen aufgeteilt, jetzt macht mir das Script aber den doofen Zeilenumbruach mit rein, als Leerzeichen... In der Ausgangs txt ist aber keins drann (wird wohl durch den Umbruch kommen) !?

Weiß hier jemand nen Rat, wie man das richtig stellen kann !?


__
Grüße Kallinger

PS: hier noch die Ausgabe
Falsche Ausgabe
01.
...key=3D= e5ed8
Richtige Ausgabe
01.
...key=3D=e5ed8
Also das doofe Leerzeichen soll eben raus!
Mitglied: Guenni
05.04.2010 um 13:58 Uhr
@Kallinger,

nach
01.
<?php $temp=str_replace(" ","",$temp);?>
sollten die Leerzeichen verschwunden sein.

Gruß
Günni
Bitte warten ..
Mitglied: Kallinger
05.04.2010 um 14:18 Uhr
Hi!

danke erst mal für die schnelle Antwort!
Leider gehts das nicht!


Hier der neue Code:

01.
foreach (glob("$source_path*.txt") as $filename) { 
02.
    				$dfeld = file($filename); 
03.
					$temp = $dfeld[37].$dfeld[38]; 
04.
					echo $temp."<br />"
05.
					$aus= str_replace(" ","",$temp); 
06.
					echo $aus."<br /><br />"
07.
}
Ergebnis:
01.
...3D= e5ed8 
02.
...3D= e5ed8 
hmmmm

__
Grüße Kallinger

PS: die "..." soll nur heißen, das da noch was zuvor kommt!
Bitte warten ..
Mitglied: Kallinger
05.04.2010 um 14:33 Uhr
Hi ...

ich hab mir gerade mal den Quellcode angeguckt... da siehts so aus:

01.
...3D= 
02.
e5ed8
kann das auch zum Problem beitragen !?

Ach WTF .... das nervt so langsam!


__
Grüße Kallinger
Bitte warten ..
Mitglied: matze2010
05.04.2010 um 14:48 Uhr
Hmm,

wenn ich genau darüber nachdenke:

Denk mal nach!

Allerdings ist dein Skript und die Ausgabe nicht wirklich nachvollziehbar. Etwas mehr von deinem Geheimnis kannst du schon preisgeben.

Warum denken PHP Programmierer eigentlich immer, sie hätten so viel Skill, den sie für sich behalten müssten, damit andere das nicht nachprogrammieren?

Also,

str_replace("\n","",...)

trim() filtert afaik auch Zeilenumbrüche am Anfang und am Ende.

Und wenn du die Ausgabe in HTML und die Anzeige in einem Browser noch nicht verstanden hast, dann sollest du dir nochmal gedanken über Zeilenumbrüche, <br/>, und <pre> machen....

HTH

Lg
Matze
Bitte warten ..
Mitglied: Arano
05.04.2010 um 16:48 Uhr
Guten Morgen....

schlagt bitte euer Buch PHP-Manual auf Seite PHP-Manual - file() auf und liest den Abschnitt:Return Values sorgsam und aufmerksam.

Zu jeder Zeile der Datei die du einlesen möchtest gehört auch der Zeilenumbruch !
Und wie wir gerade gelernt haben wird dir dieser auch mit jeder Zeile der Datei zurückgegeben.
Und dann ist es doch ganz normal das sich zwischen zwei dieser Zeichenketten ein Zeilenumbruch befindet bzw. es sind sogar ZWEI, ein weiteres am Ende der zweiten Zeichenkette.
01.
  $arrZeilen = file('datei.txt'); 
02.
  // vorrausgesetzt der zeilenumbruch wird durch "\n" dargestellt (\n | \r | \r\n) 
03.
  $arrZeilen = array 
04.
05.
      [0] => "aaaa\n", 
06.
      [1] => "bbbb\n", 
07.
      [2] => "cccc\n", 
08.
      [3] => "dddd" 
09.
    ); 
10.
  echo $arrZeilen[1].$arrZeilen[2]; 
11.
  echo "bbbb\n"."cccc\n";
Schaut man sich die Ausgabe an, so stehen die beiden Zeilen je in einer Zeile - entsprechend der Ausgabe mit den Zeilenumbrüchen in der Mitte und am Ende.

Aber was macht HTML bzw. dein Browser mit diesem Zeichen ?
Dar in HTML keine (bzw- kaum) Rücksicht auf einen Zeilenumbruch genommen wird und dieser wenn dann nur zur Formatierung des Quelltextes gilt aber nicht für die Ausgabe.
Aber irgendwas muss der Browser nun mit diesem Zeilenumbruch anfangen... und so wird es als Leerzeichen dargestellt.

Möchtest du also dein vermeintliches "Leerzeichen" weg bekommen muss du den Zeilenumbruch entfernen (z.B. ersetzen) !


~Arano
Bitte warten ..
Mitglied: dog
05.04.2010 um 20:50 Uhr
Arano: Kleiner Fehler in deinem Beispiel: Die einfachen AZ würden \n natürlich nicht umwandeln und es würde in der Ausgabe als String stehen

Abgesehen davon heißt die Lösung wie bereits gesagt: trim() oder rtrim()
Bitte warten ..
Mitglied: Arano
05.04.2010 um 23:31 Uhr
Ohja, da hast du recht !
So genau habe ich da ehrlich gesagt auch gar nicht drüber nachgedacht - ob einfache oder doppelte Anführungszeichen.
(Das war ja auch nur zur Verdeutlichung gedacht um zu zeigen wie es dann in dem Array stehen würde, okay mein Patzer... wird korrigiert.)

Abgesehen davon heißt die Lösung wie bereits gesagt: trim() oder rtrim()
Das ist richtig, aber was bringt einem die beste Lösung wenn man sie bzw. die Ursache des Problems __nicht versteht__ !?

~Arano
Bitte warten ..
Mitglied: Kallinger
06.04.2010 um 12:15 Uhr
Hi Hi!!

Das ist mal ein Krasses Pferd!
Mit trim() rennt das Script wie es soll!

Also vielen Dank!

__
Grüße Kallinger
Bitte warten ..
Mitglied: Kallinger
06.04.2010 um 12:18 Uhr
Hier Zum Schluss noch das Script, für alle die das gleiche Problem irgendwann mal haben...

01.
foreach (glob("$source_path*.txt") as $filename) { 
02.
    				$dfeld = file($filename); 
03.
				$temp = trim($dfeld[37]).$dfeld[38]; 
04.
				echo $temp."<br />"
05.
}
Das entscheidende ist, dass man trim auf die Zeile loslässt, die den Zeilenumbruch auslöst!
Deshalb hat auch str_replace nicht fuktionier (!? vll.)
Naja, wie auch immer mit dem Code von oben pfährt das Ding!

__
Grüße Kallinger
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Zeilenumbruch in Datengrafik verhindern (Visio 2013)
gelöst Frage von Fenris14Microsoft Office3 Kommentare

Guten Abend, ich hab da ein kleines Problemchen. Wenn ich beispielsweise einen Server-Shape mit einer IP-Adresse per Datengrafik beschrifte, ...

PHP
PHP XML Statt Semikolon ein Zeilenumbruch
gelöst Frage von Judo99PHP2 Kommentare

Wie kann ich beim Auslesen eines XML-Files mittels PHP darin ein Semikolon durch einen Zeilenumbruch ersetzen? zum Beispiel: XML-Code: ...

PHP
PHP - mySQL - Injections, Schadcode verhindern?
Frage von DeeJayBeePHP3 Kommentare

Hallo zusammen, ich beschäftige mich gerade ein wenig mit php und mysql. Überall sind zwar nette Tutorials, aber irgendwie ...

CSS
Zeilenumbruch ohne br
gelöst Frage von ANTiNATORCSS2 Kommentare

Ich habe einen <div> in den durch ein phpscript der Inhalt einer Textdatei eingegeben wird. Welcher wiederum aus einem ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 4 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 4 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 6 StundenAdministrator.de Feedback6 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 11 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...