Leerzeichen bei echo-Befehl werden ignoriert

Wenn ich echo "A B";
ausgebe, wird nur ein Leerzeichen statt fünf ausgegeben.

a) Woran liegt das?

Ich habe mir mit:
echo "A     B";
ausgeholfen.

b) Kann man das auch innerhalb des echo-Befehls abkürzen,
so daß man nicht für jedes Leerzeichen " " schreiben muß?

c) Gibt es eine bessere Lösung als " " zu verwenden?
Markus Stein [ So, 20 Januar 2008 21:50 ] [ ID #1912605 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Markus Stein schrieb:

>Wenn ich echo "A B";
>ausgebe, wird nur ein Leerzeichen statt fünf ausgegeben.

Falsch.

>a) Woran liegt das?

Du hast den Zusammenhang von PHP, HTML und dem was der Browser anzeigt nicht
verstanden.

>Ich habe mir mit:
>echo "A     B";
>ausgeholfen.

Schön.

>b) Kann man das auch innerhalb des echo-Befehls abkürzen,
>so daß man nicht für jedes Leerzeichen " " schreiben muß?

Nichts spricht dagegen, eine Funktion zu schreiben, die die entsprechende
Ersetzung vornimmt. Stichwort str_replace.

>c) Gibt es eine bessere Lösung als " " zu verwenden?

Sagen wir es so: Warum meinst du, in HTML-Dokumenten mehr als ein Leerzeichen
hintereinander ausgeben zu müssen?

--
Wolfgang Fellger
Wolfgang Fellger [ So, 20 Januar 2008 22:01 ] [ ID #1913348 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Markus Stein schrieb:
> Wenn ich echo "A B";
> ausgebe, wird nur ein Leerzeichen statt fünf ausgegeben.

Schalte mal die Sourceanzeige im Browser an und zaehle die Leerzeichen.

> a) Woran liegt das?

Du hast vergessen wie HTML interpretiert wird.

> Ich habe mir mit:
> echo "A     B";
> ausgeholfen.
>
> b) Kann man das auch innerhalb des echo-Befehls abkürzen,
> so daß man nicht für jedes Leerzeichen " " schreiben muß?

Wenn es innerhalb eines "<pre>A B</pre>" steht.

> c) Gibt es eine bessere Lösung als " " zu verwenden?

CSS mit einem <span> oder auch <div>.

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de
Joerg Behrens [ So, 20 Januar 2008 22:02 ] [ ID #1913349 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

..oO(Markus Stein)

>Wenn ich echo "A B";
>ausgebe, wird nur ein Leerzeichen statt fünf ausgegeben.
>
>a) Woran liegt das?

Die sind schon alle da (schau in den Quelltext), nur werden mehrfache
Leerzeichen oder auch Zeilenumbrüche in HTML zu einem zusammengefaßt.

>Ich habe mir mit:
>echo "A     B";
>ausgeholfen.

Unschön.

>b) Kann man das auch innerhalb des echo-Befehls abkürzen,
>so daß man nicht für jedes Leerzeichen " " schreiben muß?

Kann man, allerdings ist vermutlich Dein Design kaputt. Insofern bringt
es wenig bis gar nichts, nur an den Symptomen herumzudoktern.

>c) Gibt es eine bessere Lösung als " " zu verwenden?

Üblicherweise CSS, aber es kommt natürlich auch drauf an, was Du
eigentlich machen willst.

Da das nix mit PHP zu tun hat, XPost & F'up2 <dciwam/>.

Micha
Michael Fesser [ So, 20 Januar 2008 22:08 ] [ ID #1913350 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Markus Stein schrieb:

> Wenn ich echo "A B";
> ausgebe, wird nur ein Leerzeichen statt fünf ausgegeben.

Falsch. Es werden alle 5 ausgegeben.

> Ich habe mir mit:
> echo "A     B";
> ausgeholfen.

Damit gibst Du aber keine Leerzeichen aus, sondern 5x die Zeichenfolge
" ".

Dein Problem ist nicht PHP, sondern HTML. Dir scheinen grundlegende
Kenntnisse dieser Sprache zu fehlen. Sonst wüsstest Du, dass das von Dir
vermutete Fehlverhalten absolut korrekt ist.

Gruß. Claus
Claus Reibenstein [ So, 20 Januar 2008 22:13 ] [ ID #1913351 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Hallo, Markus,

Du (markusstein1234) meintest am 20.01.08:

> Wenn ich echo "A B";
> ausgebe, wird nur ein Leerzeichen statt fünf ausgegeben.

> a) Woran liegt das?

An HTML. Nicht an PHP.

> c) Gibt es eine bessere Lösung als " " zu verwenden?

Tabelle mit definierte Spaltenbreite. (ist nicht unbedingt "besser").

Viele Gruesse!
Helmut
helmut [ So, 20 Januar 2008 21:58 ] [ ID #1914034 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Helmut Hullen schrieb:
> Du (markusstein1234) meintest am 20.01.08:
>

>> c) Gibt es eine bessere Lösung als " " zu verwenden?
>
> Tabelle mit definierte Spaltenbreite. (ist nicht unbedingt "besser").

Doch natürlich. Tabellen sind zur Darstellung von Tabellen sogar optima=
l.

MfG
Niels

--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Niels Braczek [ So, 20 Januar 2008 23:56 ] [ ID #1914036 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Hallo, Niels,

Du (nbraczek) meintest am 20.01.08:

>>> c) Gibt es eine bessere Lösung als " " zu verwenden?

>> Tabelle mit definierte Spaltenbreite. (ist nicht unbedingt
>> "besser").

> Doch natürlich. Tabellen sind zur Darstellung von Tabellen sogar
> optimal.

Wenn es eine Tabelle werden soll; in der ersten Frage war der Sinn
dieser Übung noch nicht so recht erkennbar.

Viele Gruesse!
Helmut
helmut [ Mo, 21 Januar 2008 09:07 ] [ ID #1914800 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Helmut Hullen schrieb:

> Wenn es eine Tabelle werden soll; in der ersten Frage war der Sinn
> dieser =DCbung noch nicht so recht erkennbar.

Der einzige mir bekannte Grund, warum Leute mehr als ein Leerzeichen in
Folge eingeben zu müssen meinen, ist die tabellarische Darstellung.

MfG
Niels

--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Niels Braczek [ Mo, 21 Januar 2008 10:56 ] [ ID #1914801 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Niels Braczek schrieb:
> Helmut Hullen schrieb:
>
>> Wenn es eine Tabelle werden soll; in der ersten Frage war der Sinn
>> dieser Übung noch nicht so recht erkennbar.
>
> Der einzige mir bekannte Grund, warum Leute mehr als ein Leerzeichen in
> Folge eingeben zu müssen meinen, ist die tabellarische Darstellung.

man ASCII-Art ;-)

regards,
Jens
Jens Himmelrath [ Mo, 21 Januar 2008 11:01 ] [ ID #1914802 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Niels Braczek wrote:
>Helmut Hullen schrieb:
>Der einzige mir bekannte Grund, warum Leute mehr als ein Leerzeichen in
>Folge eingeben zu müssen meinen, ist die tabellarische Darstellung.

Man könnte auch einen Zeilenumbruch erzwingen wollen. Aber das kann
wegen seiner sog. Lösung, non-breaking spaces zu benutzen wohl
ausgeschlossen werden. Schade eigentlich.

Schöne Grüße, steffen
steffen bruentjen [ Mo, 21 Januar 2008 12:31 ] [ ID #1914804 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

plain and simple me wrote:
>Markus Stein wrote:
>> b) Kann man das auch innerhalb des echo-Befehls abkürzen, so daß man
>> nicht für jedes Leerzeichen " " schreiben muß?
>
>Du könntest eine Variable Definieren: $a=' ', aber das will man
>nicht.
>

ah, um dann statt

echo "A     B";

das

echo "A{$a}{$a}{$a}{$a}{$a}B";

schreiben zu können? Ein guter Tipp.

>> c) Gibt es eine bessere Lösung als " " zu verwenden?
>
><span> verwenden, denn dafür ist es da. Na ja, mehr oder weniger.
>Eigentlich ist es dazu da Inline-Elemente zu gruppieren, aber du kannst
>dem Tag per CSS natürlich alle möglichen Design-Informationen geben, so
>natürlich auch eine Breite (<span style="width:2em;">blubb</span>, oder
>per ID oder Klasse, wenn du es wirklich zu 100% trennen willst.).

Nein, span als nicht ersetzendes inline-Element darf keine Breite
zugewiesen bekommen. Zumindest nicht in dieser Form.

schöne Grüße, Steffen
steffen bruentjen [ Mo, 21 Januar 2008 23:08 ] [ ID #1915653 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

steffen bruentjen schrieb:

> plain and simple me wrote:
^^^^^^^^^^^^^^^^^^^

Wer?

>> Du könntest eine Variable Definieren: $a=' ', aber das will man
>> nicht.
>
> ah, um dann statt
>
> echo "A     B";
>
> das
>
> echo "A{$a}{$a}{$a}{$a}{$a}B";
>
> schreiben zu können?

Nein, sondern um

echo "A$a$a$a$a$aB";

schreiben zu können.

Warum Frau "me" mit den vielen Vornamen wohl "das will man nicht"
geschrieben hat ...

>>> c) Gibt es eine bessere Lösung als " " zu verwenden?
>>
>> <span> verwenden

*LOL*

> Nein, span als nicht ersetzendes inline-Element darf keine Breite
> zugewiesen bekommen. Zumindest nicht in dieser Form.

Womit sich Frau "me" wohl endgültig disqualifiziert haben dürfte :-)

Aber das gehört hier alles nicht hin. Das ist HTML, nicht PHP.

Gruß. Claus
Claus Reibenstein [ Di, 22 Januar 2008 17:49 ] [ ID #1916455 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Christoph Herrmann schrieb:

> Der Vollständigkeit halber sei gesagt, dass HTML keine Leerzeichen
> ignoriert (denn Sie stehen ja im HTML Source drin)

Du weißt, was ein Quellcode ist?

Gruß. Claus
Claus Reibenstein [ Di, 22 Januar 2008 17:51 ] [ ID #1916456 ]

Re: Leerzeichen bei echo-Befehl werden ignoriert

Claus Reibenstein schrieb:
> Christoph Herrmann schrieb:
>
>> Der Vollständigkeit halber sei gesagt, dass HTML keine Leerzeichen
>> ignoriert (denn Sie stehen ja im HTML Source drin)
>
> Du weißt, was ein Quellcode ist?

Jep, dann streich das Source bei mir und mach ein Text oder Dokument
daraus. :)

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/
Christoph Herrmann [ Di, 22 Januar 2008 18:23 ] [ ID #1916457 ]
PHP » de.comp.lang.php.misc » Leerzeichen bei echo-Befehl werden ignoriert

Vorheriges Thema: HTML_QuickForm[2] - alternativen
Nächstes Thema: Excel Tabelle anzeigen