Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] unnötige leerzeichen entfernen (https://www.delphipraxis.net/30537-%5Bphp%5D-unnoetige-leerzeichen-entfernen.html)

Meflin 26. Sep 2004 11:55


[PHP] unnötige leerzeichen entfernen
 
Hi,
ich suche die php funktion, die aus
Code:
blabla    5
Code:
blabla 5
macht! falls es die gibt...

*MFG*

CalganX 26. Sep 2004 12:09

Re: [PHP] unnötige leerzeichen entfernen
 
Hi,
ich denke, dass trim() dir da helfen könnte.

Chris

titus 26. Sep 2004 12:25

Re: [PHP] unnötige leerzeichen entfernen
 
Ne trim() entfernt nur die Zeichen vor und nach dem ersten bzw. letzten Buchstaben.
Dieses RegEx hilft ;):
Code:
<?php
$text = 'asdd  blablabla               5';
$text = preg_replace('# {1,}#', ' ', $text);

echo $text;

// Ausgabe: asdd blablabla 5
?>

Meflin 26. Sep 2004 13:00

Re: [PHP] unnötige leerzeichen entfernen
 
thx, dachte allerdings dass es sowas wie trim auch für zwischen den zeichen gibt. naja egal, das taugt!

*MFG*

Meflin 26. Sep 2004 13:27

Re: [PHP] unnötige leerzeichen entfernen
 
Zitat:

Zitat von titus
Ne trim() entfernt nur die Zeichen vor und nach dem ersten bzw. letzten Buchstaben.
Dieses RegEx hilft ;):
Code:
<?php
$text = 'asdd  blablabla               5';
$text = preg_replace('# {1,}#', ' ', $text);

echo $text;

// Ausgabe: asdd blablabla 5
?>

hm bist du sicher? scheint nämlich irgendwie nicht so ganz funzen zu wollen... :stupid:

jfheins 26. Sep 2004 13:33

Re: [PHP] unnötige leerzeichen entfernen
 
Code:
preg_replace ("/[ ]+/", " ", $string);

titus 26. Sep 2004 14:14

Re: [PHP] unnötige leerzeichen entfernen
 
Zitat:

Zitat von jfheins
Code:
preg_replace ("/[ ]+/", " ", $string);

ist doch genau dasselbe wie meins (nur halt + anstatt {1,} und das ist dasselbe).

bei mir geht das wunderbar.

jfheins 26. Sep 2004 14:28

Re: [PHP] unnötige leerzeichen entfernen
 
Zitat:

Zitat von titus
ist doch genau dasselbe wie meins

Nicht ganz, bei mir sind statt # / (und halt statt {1,} ein +) :zwinker:

Delphi-Freak 26. Sep 2004 16:00

Re: [PHP] unnötige leerzeichen entfernen
 
Halli Hallo!
Geht das nicht auch ohne reguläre Ausdrücke, in etwa so:
Code:
<?php
$text = 'blabla         5';
while(strpos($text,' ') !== false) {
   $text = str_replace(' ',' ',$text);
}
?>
Bei mir, auf jeden Fall, funzzt es :-D
LG

Meflin 26. Sep 2004 16:19

Re: [PHP] unnötige leerzeichen entfernen
 
angezeigt wird es bei mir auch richtig, dass liegt aber daran, dass halt vom browser nur 1 leerzeichen ausgegeben wird und nicht alle. desweiteren ein seltsames phänomen: wenn ich im editor den quelltext anschaue, steht da:
Code:
blabla   5
blabla   6
wenn ich jetzt den cursor vor die 5 setze nud mit der pfeiltaste eins nach links setze, landet er direkt rechts neben blabla, d.h. da ist nur ein leerzeichen drin, aber 4 werdn ausgegeben!!
wenn ich desweiteren versuche, mit explode die strings mit seperator " " zu trennen, passiert rein garnichts!!
:stupid: :? :wall: :freak: :gruebel: :?:

Delphi-Freak 26. Sep 2004 16:28

Re: [PHP] unnötige leerzeichen entfernen
 
@ Meflin: Meinst du meine Version (while..., keine regExp)?

Falls ja: welchen Editor bzw. Browser verwendest du?

Meflin 26. Sep 2004 16:30

Re: [PHP] unnötige leerzeichen entfernen
 
das trifft auf alle versionen zu. getestet mit ie und dem texteditor (rechtsklick > sourcen anzeigen)
werds mal kurz mit mozilla testen!

Delphi-Freak 26. Sep 2004 16:33

Re: [PHP] unnötige leerzeichen entfernen
 
Naja, IE + Texteditor kann zu Fehlern führen.
Habe auch schon gehabt, dass ich im IE auf "Quelltext anzeigen" gegangen bin, und dann ist der Texteditor geöfnet worden, aber nichts darin angezeigt worden :(

Meflin 26. Sep 2004 16:33

Re: [PHP] unnötige leerzeichen entfernen
 
gleiches phänomen mit dem firefox source viewer...
also mal ganz von vorne:
ich habe in einer textdatei (so in etwa 1500 zeilen lang) daten in dieser form:
Code:
data1    1
data2    2
data3    3
...
da sind immer 4 leerzeichen dazwischen. die möchte ich in ein 2dimensionalesarray bekommen, sodass
$array[0,0] data1 und $array[0,1] 1 beinhaltet.

*MFG*

Delphi-Freak 26. Sep 2004 16:55

Re: [PHP] unnötige leerzeichen entfernen
 
Aha, probiers mal so:
Code:
<?php
$zeilen = file('datei.txt');
$ausgabe = array();
for($i = 0; $i < sizeof($zeilen); $i++ ){
   $zeilearr = explode('   ',$zeilen[$i],2);
   $zeilearr[0] = trim($zeilearr[0]);
   $zeilearr[1] = trim($zeilearr[1]);
   $ausgabe[] = $zeilearr;
}
echo '<pre>'; //Diese 3 Zeilen nur zur Ausgabe
var_dump($ausgabe);
echo '</pre>';
?>
Hoffe, es ist verwendbar 8)

Delphi-Freak 26. Sep 2004 16:55

Re: [PHP] unnötige leerzeichen entfernen
 
Aha, probiers mal so:
Code:
<?php
$zeilen = file('datei.txt');
$ausgabe = array();
for($i = 0; $i < sizeof($zeilen); $i++ ){
   $zeilearr = explode('   ',$zeilen[$i],2);
   $zeilearr[0] = trim($zeilearr[0]);
   $zeilearr[1] = trim($zeilearr[1]);
   $ausgabe[] = $zeilearr;
}
echo '<pre>'; //Diese 3 Zeilen nur zur Ausgabe
var_dump($ausgabe);
echo '</pre>';
?>
Hoffe, es ist verwendbar 8)


Edit: Oops, ein Mal zu viel :oops:

Nightshade 26. Sep 2004 16:57

Re: [PHP] unnötige leerzeichen entfernen
 
Zitat:

Zitat von Meflin
angezeigt wird es bei mir auch richtig, dass liegt aber daran, dass halt vom browser nur 1 leerzeichen ausgegeben wird und nicht alle. desweiteren ein seltsames phänomen: wenn ich im editor den quelltext anschaue, steht da:
Code:
blabla   5
blabla   6
wenn ich jetzt den cursor vor die 5 setze nud mit der pfeiltaste eins nach links setze, landet er direkt rechts neben blabla, d.h. da ist nur ein leerzeichen drin, aber 4 werdn ausgegeben!!
wenn ich desweiteren versuche, mit explode die strings mit seperator " " zu trennen, passiert rein garnichts!!
:stupid: :? :wall: :freak: :gruebel: :?:

Dann ist es villeicht kein Leerzeichen, sondern ein TAB (#9) ??

Meflin 26. Sep 2004 16:58

Re: [PHP] unnötige leerzeichen entfernen
 
Zitat:

Zitat von Nightshade
Zitat:

Zitat von Meflin
angezeigt wird es bei mir auch richtig, dass liegt aber daran, dass halt vom browser nur 1 leerzeichen ausgegeben wird und nicht alle. desweiteren ein seltsames phänomen: wenn ich im editor den quelltext anschaue, steht da:
Code:
blabla   5
blabla   6
wenn ich jetzt den cursor vor die 5 setze nud mit der pfeiltaste eins nach links setze, landet er direkt rechts neben blabla, d.h. da ist nur ein leerzeichen drin, aber 4 werdn ausgegeben!!
wenn ich desweiteren versuche, mit explode die strings mit seperator " " zu trennen, passiert rein garnichts!!
:stupid: :? :wall: :freak: :gruebel: :?:

Dann ist es villeicht kein Leerzeichen, sondern ein TAB (#9) ??

:party: das ist es. und wie verwende ich explode mit tab als seperator?

Delphi-Freak 26. Sep 2004 17:03

Re: [PHP] unnötige leerzeichen entfernen
 
Ganz einfach: explode("\t",$irgendwas); Sollte funzzen
Achtung aber: Du musst die doppelten Anführungszeichen ("text"), nicht die einfachen ('text') verwenden!

Meflin 26. Sep 2004 17:07

Re: [PHP] unnötige leerzeichen entfernen
 
thx, wäre das auch enldich geklärt
wer kommt denn auch auf tab :wall:


BIG THX an alle!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz