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 08-09-2008, 15:31
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard postleitzahl von stadt trennen

hi,

ich versuche gerade einen string der eine "plz ort" anschrift enthält zu zerlegen, das ich hinter her jeweils die plz und den ort als eigene variable habe.

aber irgendwie steh in so fern auf den schlauch, das ich nicht auf " " leerzeichen exploden will - sondern lieber eine 5 stellige zahlen folge suchen würde, diese als plz nehmen und dann diese aus dem urspungsstring zB per preg_replace raus zu nehmen.

hat da vielleicht jemand eine idee?

grüße,
jon
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #2 (permalink)  
Alt 08-09-2008, 15:51
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

/\d{5}/ sollte dir helfen
Mit Zitat antworten
  #3 (permalink)  
Alt 08-09-2008, 15:53
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.725
Kropff befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
preg_match ('/^[0-9]{5}/',$plzort$hit
so was?

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #4 (permalink)  
Alt 08-09-2008, 15:57
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

danke schon mal.

auch wenn ich denke das es noch einfacher bzw kürzer geht, hier mein lösungsansatz:
PHP-Code:
$string "33615 Bielefeld";
    if (
preg_match_all("#[0-9]#"$string$matches)) {
        
$plz implode(''$matches[0]) ;
        
$stadt preg_replace('#'.$plz.'#'''$string) ;
        if (
strlen($plz) == 5) {
            
$adresse $plz.' '.$stadt ;
        }
    }
    if (
$adresse == '') {
        
$adresse $string ;
    }
    echo 
$adresse 
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #5 (permalink)  
Alt 08-09-2008, 16:05
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.725
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
hier mein lösungsansatz
wieso einfach, wenn es auch kompliziert geht? preg_match reciht völlig aus. implode ist überflüssig, genau so wie preg_replace. bei letzterem reicht ein str_replace völlig aus.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 08-09-2008, 16:10
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

magst du mir einmal zeigen, wie genau du es machen würdest?
ich meine: ok, meins läuft schon mal.

aber wenn es sauberer geht, gerne!
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #7 (permalink)  
Alt 08-09-2008, 16:11
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Guck dir einmal an, was in $matches steht.

ein Blick ins Manual (preg_match) schadet natürlich auch nicht.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 08-09-2008, 16:11
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.725
Kropff befindet sich auf einem aufstrebenden Ast
Standard

schau dir mein beispiel an, mach testausgaben und dann schau mal, was str_replace macht.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 08-09-2008, 16:12
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

ich weiß ja was in matches steht ... ein array (key 0) mit dann jeweils den einzelnen werten verpackt ... deswegen ja auch das implode ...
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #10 (permalink)  
Alt 08-09-2008, 16:15
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.725
Kropff befindet sich auf einem aufstrebenden Ast
Standard

ja, weil du nur einfach auf zahlen überprüfst und mit preg_match_all arbeitest. mein beispiel enthält einen array-eintrag mit allen fünf zahlen.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #11 (permalink)  
Alt 08-09-2008, 16:18
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

PHP-Code:
    $string "33615 Bielefeld";
    if (
preg_match('/^[0-9]{5}/'$string$adresse['plz'])) {
        
$adresse['stadt'] = str_replace($adresse['plz'], ''$string) ;
    }
    if (
count($adresse) != 2) {
        
$adresse['plz'] = $string ;
        
$adresse['stadt'] = $string ;
    } 
so in etwa?
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #12 (permalink)  
Alt 08-09-2008, 16:23
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.725
Kropff befindet sich auf einem aufstrebenden Ast
Standard

fast. was ergibt print_r($adresse['plz'])?

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #13 (permalink)  
Alt 08-09-2008, 16:27
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

jau, hab gerade schon den [0] bemerkt ...
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #14 (permalink)  
Alt 09-09-2008, 10:00
xJonx
 Registrierter Benutzer
Links : Onlinestatus : xJonx ist offline
Registriert seit: Mar 2006
Ort: Bielefeld
Beiträge: 421
xJonx zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

ich will, da ich bei dem thema halt generell gerade bin,
dann auch noch meinen ansatz zum trennen von strasse
und hausnummer mal vorzeigen.

auch hier würde ich das gerne etwas sauberer machen.

wobei zB durch die strassen in mannheim, es hier natürlich
zu problemen kommen kann ... aber das ist erst mal nebensächlich.

PHP-Code:
    $string "Alten Strasse 44b - 46";
    
    
$array explode(' '$string) ;
    
    foreach(
$array as $key => $value) {
        if (
preg_match('#[0-9]#'$value) && $no == '') {
            
$no $key ;
        }
    }
    for(
$i 0;$i <= count($array); $i++) {
        if (
$i $no) {
            
$strasse .= $array[$i].' ' ;
        }
        if (
$i >= $no) {
            
$hausnummer .= $array[$i].' ' ;
        }
    } 
__________________
Design & Coding with a breeze of madness at xjonx
Mit Zitat antworten
  #15 (permalink)  
Alt 09-09-2008, 13:50
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
uch noch meinen ansatz zum trennen von strasse und hausnummer mal vorzeigen.
Spar dir die Mühe und benutz mal die Suche zu dem Thema. Du wirst erstaunt sein, dass es soooo viele Möglichkeiten gibt, dass es kaum sinnvoll ist, die alle Abzufragen.

Dein Ansatz jedenfalls ist für das was er macht, viel zu kompliziert, reicht andersherum jedoch noch lange nicht aus.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

14.01.2019 nevenov | Kategorie: PHP/ FAQ
Admidio Mitgliederverwaltung

Admidio ist eine kostenlose Online-Mitgliederverwaltung, die für Vereine, Gruppen und Organisationen optimiert ist. Sie besteht neben der Mitgliederverwaltung aus einer Vielzahl an Modulen (Foto-, Download-, Terminverwaltung), die in eine neue oder besteh

08.01.2019 webmaster52@ | Kategorie: PHP/ Groupware
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:55 Uhr.