php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.02.2009, 16:45  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard String nach Ziffern abfragen

Hallo.
Ich habe ein Problem mit "Requests" die in verschiedenen Zeichencodierungen bei mir ankommen. Einige schicken diese als ISO-8859-1 und andere als UCS-2 8Bit. Die ISO 8859-1 macht keine Probleme.
Die UCS-2 8Bit kommen bei mir als vierstellige Zeichen an. Zu 98% bestehen diese Zeichen als Zahlen. Beispiel "004300650070" (Das wäre Cep).
Ich habe nur einen Script für den Eingang. Ich muss also abfragen, ob der String konvertiert werden muss. Dazu fällt mir ein, dass ich die ersten beiden Zeichen auf "00" abfrage.
Oder viel sicherer wäre: Besteht der String überwiegend aus Zahlen?
Für letzteres habe ich keine Idee, wie man sowas abfragen könnte.

Irgend eine Idee?
halskrause ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.02.2009, 16:54  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Kannst Du das Script nicht mit nem Parameter aufrufen lassen?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 06.02.2009, 17:10  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Auf nur Zahlen prüfen kannst du mit men simplen Regex:
PHP-Code:
if ( preg_match'#^[0-9]+$#'$string ) )
{
   
// konvertieren
}
else
{
  
// nicht konvertieren

Da gibt es aber auch noch andere alternativen...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 06.02.2009, 17:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Du kannst auch Nullen zählen (die sind ja wahrscheinlich hauptsächlich verteten) - substr_count. Trotzdem halte ich die Zahlen-Erkennen-Geschichte nicht für sinnvoll.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 06.02.2009, 18:45  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard

Danke für die Antworten. Ich werde vorerst auf die ersten beiden Zeichen (if "00") prüfen.

EDIT: Der Grund weswegen ich diese Prüfung gewählt habe, ist, dass nach der Information von diesem Link: Unicode/UTF-8-character table
alle unicode codepoints mit "00" beginnen. Ich hoffe, dass das immer zutrifft...


EDIT2: Gibt es vielleicht eine Funktion in PHP, dass code points in 8859-1 umwandelt? Wie z.B. 0041 = "A" , 0061 = a , oder muss man hsolche Sachen generell selber schreiben? Z.B. mit einem str_replace (array_keys ($replace) , $replace , ...);

Geändert von halskrause (06.02.2009 um 19:04 Uhr).
halskrause ist offline  
Alt 06.02.2009, 20:04  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Für Ascii gibts ord
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 06.02.2009, 22:25  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
alle unicode codepoints mit "00" beginnen
Dann bräuchte man Unicode nicht
Du meinst vermutlich, dass alle Zeichen, die sich in iso-8859-1 abbilden lassen, in UCS-2 mit 00 beginnen.

Wer schickt Dir eigentlich diese Zeichen? Dass Du die Bytefolgen in Hex-Darstellung ohne weitere Markierung erhälst, "klingt" falsch.
David ist offline  
Alt 07.02.2009, 00:57  
Erfahrener Benutzer
 
Registriert seit: 29.08.2008
Beiträge: 777
halskrause wird schon bald berühmt werden
Standard

Es geht um SMS Nachrichten. Normalerweise verwendet man ja 8859-1 in Deutschland. Die Übertragung klappt dann wunderbar.
Aber sobald man ein Fremdzeichen einfügt, wird aus der kompletten SMS ein UCS-2 Nachricht. Folgerichtig kann man dann statt 160 zeichen nur noch die Hälfte schicken.

Wie auch immer. Ich bin gerade dabei hierfür einen Konverter zu schreiben, der geanau das macht, was "iconv //TRANSLIT" macht.
halskrause ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
string in string suchen,ersetzen,zusammenfügen und update machen litterauspirna PHP Tipps 2009 24 08.01.2009 13:38
String nach Sonderzeichen abfragen?? halskrause PHP Tipps 2008 3 20.11.2008 11:33
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
[Erledigt] string type numerisch abfragen Datenbanken 2 19.03.2006 11:12
Ziffern und Sonderzeichen in einem String zählen PHP Tipps 2006 2 15.03.2006 12:22
Nur Ziffern in String erlauben PsychoEagle PHP Tipps 2005-2 3 09.08.2005 14:53
In allen Tabellen nach String suchen Jacks Rache Datenbanken 0 05.08.2005 11:18
String in allen Spalten suchen Jacks Rache Datenbanken 0 05.08.2005 09:43
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
String suchen und tauschen PHP Tipps 2005 13 08.01.2005 22:00
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
bekomme string nicht in mysql-tabelle PHP Tipps 2004 6 26.07.2004 11:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php string nach zahlen durchsuchen, string nach zahlen durchsuchen php, php string nach zahl durchsuchen, php ziffern zählen, string nach zahlen durchsuchen, php string abfragen, http://www.php.de/php-einsteiger/51515-string-nach-ziffern-abfragen.html, php string abfrage, java string nach zahlen durchsuchen, string nach zahlen durchsuchen java, php abfrage zahl, php zahl abfragen, php ziffern, java ziffern zählen, php abfrage nur zahlen, php abfrage auf zahl, string nach zahl durchsuchen php, php string nach sonderzeichen durchsuchen, php abfrage zählen, php zahlen abfragen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum