php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-01-2006, 13:38
andreasV
 Newbie
Links : Onlinestatus : andreasV ist offline
Registriert seit: Sep 2004
Beiträge: 5
andreasV ist zur Zeit noch ein unbeschriebenes Blatt
Standard trim() wird ignoriert

Ich habe ein Problem welches ich nicht in der Lage bin allein zu lösen.

Ich habe ein Script welches aus einer Datenbank einen Eintrag zieht.

Deutschland - Hessen

Diesen Wert zerlege ich mit explode() und gebe den Rest des Strings nach dem Zeichen - aus, jedoch entferne ich vorher die Leerzeichen mit trim().

PHP-Code:
$land_region_out explode("-",$edit_region);
$land_region_out[1] = trim($land_region_out[1]);
echo 
$land_region_out[1]; 

Die Ausgabe ist "Hessen" (Anführungszeichen nur zur Verdeutlichung)

Soweit so gut nun das Problem:

Ich habe auf meiner Testumgebung PHP 4.4.0 laufen. Dort funktioniert mein Script einwandfrei.
Schiebe ich das Script auf den Webserver wo PHP 4.3.0 läuft, wird das trim() offensichtlich ignoriert denn die Ausgabe lautet " Hessen".

Ich habe die Stringlänge noch mit strlen() gegengeprüft. Meine Vermutung lag richtig auf meinem Server werden 6 Zeichen gezählt auf dem InetServer 7.

Ich bin mit meinem Latein und den Nerven am Ende. Ich brauche das Ergebnis um eine Weitere Abfrage zu Prüfen.

Hat jemand nen Lösungsansatz für mich?
Mit Zitat antworten
  #2 (permalink)  
Alt 10-01-2006, 13:51
XGremliN
 PHP Senior
Links : Onlinestatus : XGremliN ist offline
Registriert seit: Sep 2003
Ort: Karl-Marx-Stadt
Beiträge: 1.900
XGremliN ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Probier es doch mal mit ltrim()
__________________
it's not a bug,
it's a feature!
Mit Zitat antworten
  #3 (permalink)  
Alt 10-01-2006, 15:02
andreasV
 Newbie
Links : Onlinestatus : andreasV ist offline
Registriert seit: Sep 2004
Beiträge: 5
andreasV ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das ltrim() bringt auch nicht das gewünschte Ergebnis.
Mit Zitat antworten
  #4 (permalink)  
Alt 10-01-2006, 15:11
sagg
 PHP Junior
Links : Onlinestatus : sagg ist offline
Registriert seit: May 2004
Ort: Offenburg
Beiträge: 581
sagg ist zur Zeit noch ein unbeschriebenes Blatt
sagg eine Nachricht über ICQ schicken
Standard

Kommt eine Fehlermeldung, wenn du error_reporting rein schmeisst?
__________________
mfg - sagg
Mit Zitat antworten
  #5 (permalink)  
Alt 10-01-2006, 15:23
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: trim() wird ignoriert

Dann würde ich mir von diesem " Hessen" mal vom ersten Zeichen den Hex-Code anschauen - vielleicht ist das kein "normales" Leerzeichen, sondern irgendetwas anderes (bei der Übertragung was falsch eingestellt oder sonstwie schief gegangen), auf das trim() micht reagiert.
PHP-Code:
echo dechex(ord($dein_string)); 
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 10-01-2006, 16:53
andreasV
 Newbie
Links : Onlinestatus : andreasV ist offline
Registriert seit: Sep 2004
Beiträge: 5
andreasV ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das was bei dieser abfrage bei rauskommt ist auf dem InetServer Hx = a0 -> Char = ? -> Dez = 160
Auf meinem Server ist es richtig das N

Gut jetzt weiß ich das es ein unbekanntes Zeichen Gibt. Aber weiter weiß ich trotzdem noch nicht dafür reicht mein PHP-Wissen nicht.

Die Frage die sich mir gerade stellt ist, ob es eine elegantere Lösung gibt einen String so aufzuteilen das ich nur den Hinteren Teil bekomme.

Mal ein Bespiel was sonst noch in der DB steht an dieser stelle:

Deutschland - Nordrhein Westfalen
Deutschland - Baden Wuerttemberg
Schweiz - Luzern
usw

Ich habe es extra schon so gemacht das ich den Trenner "-" habe.
Mit Zitat antworten
  #7 (permalink)  
Alt 10-01-2006, 17:15
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von andreasV
Das was bei dieser abfrage bei rauskommt ist auf dem InetServer Hx = a0 -> Char = ? -> Dez = 160
Also ein geschütztes Leerzeichen.
Zitat:
Auf meinem Server ist es richtig das N
Hä - wieso N ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 10-01-2006, 17:18
andreasV
 Newbie
Links : Onlinestatus : andreasV ist offline
Registriert seit: Sep 2004
Beiträge: 5
andreasV ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry ich vergass zu sagen das ich es mit Deutschland - Nordrhein Westfalen getestet habe. Deswegen war das N richtig.
das ist das 1 Zeichen im Nordrhein.... String

Was fange ich nun mit dem Geschützen Leerzeichen an?
Wie bekomme ich das weg bzw warum is das da? Die Daten sind nämlich auf beiden Servern die gleichen.
Mit Zitat antworten
  #9 (permalink)  
Alt 10-01-2006, 17:20
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von andreasV
Wie bekomme ich das weg bzw warum is das da?
Wie schon gesagt, entweder Übertragungsfehler - oder trim() reagiert vielleicht auf unterschiedlichen System auch anders.

Wenn es immer nur diese geschützten Leerzeichen sind, die zusätzlich zu normalen auftauchen können - dann hilft es sicher schon, trim() einen passenden zweiten Parameter zu übergeben.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 10-01-2006, 18:14
andreasV
 Newbie
Links : Onlinestatus : andreasV ist offline
Registriert seit: Sep 2004
Beiträge: 5
andreasV ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke das mit dem 2 Parameter hat gepasst.

Die Lösung sieht wie folgt aus:

PHP-Code:
echo trim($bla "\\xa0"); 
Nun wird das Zeichen a0 am Anfang und Ende gelöscht sofern am Ende auch eins steht.

Noch ein Beispiel:

PHP-Code:
$bla "Test String";
echo 
trim($bla"\\x54..\\x68"); 
würde man das Ergebnis "st Strin" erhalten.

Danke für eure Hilfe.

Hier noch ne Seite mit den geläufgen ASCII Zeichen die ich bei der Lösungssuche gefunden habe
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Software für alle Arten von digitalen Marktplätzen
Software für alle Arten von digitalen MarktplätzenDigitale Marktplätze sind nicht nur im B2C Geschäft seit Jahren etabliert, sondern erfreuen sich mit Kleinanzeigen-Märkten auf lokaler und regionaler Ebene auch im privaten Bereich wachsender Beliebtheit.

09.11.2021 | Berni

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

09.11.2021 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

28.10.2021 mirko_swm | Kategorie: PHP/ Mail
Guestbook Light ansehen Guestbook Light

Das Guestbook Light (kurz: "Gblight") ist ein kinderleichtes Gästebuch in PHP. Durch den Einsatz einer SQLite Datenbank ist es einfach, leicht portabel und schnell. Aufgrund moderner Techniken erfüllt Gblight auch die neuesten Webstandards.

28.10.2021 scripthostingnet | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:28 Uhr.