php: html-Sonderzeichen in str_pad

zoom

Antonowka
Registriert
06.03.06
Beiträge
356
Moin!

Ich benutze folgenden php-Code:
Code:
$test = str_pad('teststring', 20, '•', STR_PAD_LEFT);
Nun wird das html-Sonderzeichen • nicht als einziges Zeichen sondern als String verwendet.
Wie kann ich dieses Problem umgehen?

Gruß zoom
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
PHP ist zwar eher wie sibirisch rückwärts für mich, aber das sollte mit einer Maskierung gehen:
Statt &entity; also &&entity;
(Nur so auf Verdacht)
 

zoom

Antonowka
Registriert
06.03.06
Beiträge
356
PHP ist zwar eher wie sibirisch rückwärts für mich, aber das sollte mit einer Maskierung gehen:
Statt &entity; also &&entity;
(Nur so auf Verdacht)
Nein, das funktioniert leider nicht. &• wird ebenfalls als string behandelt.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Nein, das funktioniert leider nicht. &• wird ebenfalls als string behandelt.
Ach so, du meinst das andersrum. :)
Benutz das UTF-8 Äquivalent: 0xe2 0x80 0xa2
Hexcode-Eingabe in PHP????
Versuchs mal mit dieser Schreibe:
\xe2\x80\xa2
(Reichts nicht auch wenn du die Anführungszeichen weglässt? Wirds dann nicht aufgelöst?)
 

zoom

Antonowka
Registriert
06.03.06
Beiträge
356
Ach so, du meinst das andersrum. :)
Benutz das UTF-8 Äquivalent: 0xe2 0x80 0xa2
Hexcode-Eingabe in PHP????
Versuchs mal mit dieser Schreibe:
\xe2\x80\xa2
(Reichts nicht auch wenn du die Anführungszeichen weglässt? Wirds dann nicht aufgelöst?)
Die Funktion str_pad füllt einen string mit einem Zeichen auf. Ein Wegfall der Anführungszeichen führt zu einem Fehler. Mit dem HEX-Code funktioniert das auch nicht. Google hilft mir leider auch nicht weiter...
 

VollPfosten

Roter Delicious
Registriert
01.11.05
Beiträge
94
Beim Browser soll ja wahrscheinlich immer noch • ankommen...

In der Doku gibt es einige Vorschläge dazu. Der einfachste besteht darin, zunächst mit einem einzigartigen Zeichen zu padden (z.B. § oder *) und danach str_replace anzuwenden. Das geht freilich nur, wenn Du Dir halbwegs sicher sein kannst, dass der zu paddende Text keine komischen Zeichen enthält.
 
  • Like
Reaktionen: zoom

zoom

Antonowka
Registriert
06.03.06
Beiträge
356
Beim Browser soll ja wahrscheinlich immer noch • ankommen...

In der Doku gibt es einige Vorschläge dazu. Der einfachste besteht darin, zunächst mit einem einzigartigen Zeichen zu padden (z.B. § oder *) und danach str_replace anzuwenden. Das geht freilich nur, wenn Du Dir halbwegs sicher sein kannst, dass der zu paddende Text keine komischen Zeichen enthält.
Das ist die Lösung. Vielen Dank.