PHP - String analysieren

  • #1
C

Ciryx

Bekanntes Mitglied
Themenersteller
Dabei seit
07.01.2004
Beiträge
135
Reaktionspunkte
0
Ort
Zürich
Morgen zusammen...

Ich habe eine Frage betreffend der Analyse eines Strings. Ich möchte mit PHP von einem String jeweils nur bestimmte Zeichen ausgeben. Beispiel:

Code:
<?php
$string = +41790000000asdfasdf
?>

Ausgabe: +41790000000

Demzufolge werden also nur alle Zahlen (0-9) und das + Zeichen Ausgegeben.
Kann mir dabei jemand helfen?

Danke
 
  • #2
Code:
<?php
$string = +41790000000asdfasdf;
echo ereg_replace([^0-9\+],,$string);
?>
 
  • #3
Ok Danke! Weiter gehts... Wie Du sehen kannst habe ich ein $mobile Array mit ein paar komischen Nummern, welche Formatiert werden.

Code:
<?php

$mobile = array(079 76.22-1-23 Private,
             +41(0)7976.22'123,
             0079  762.'2(123));

$x = 1;

echo <table>;
foreach ($mobile as $nr)
{	
	echo <tr><td width=\100px\>;
	echo Eingabe $x;
	echo </td><td>;
	echo $nr;
	echo </td></tr><tr><td>;	
	echo Ausgabe $x;
	echo </td><td>;
	
	echo ereg_replace('[^0-9\+]',->', ereg_replace ('\(0\)',->', $nr));	
	echo </td></tr><tr><td colspan=\2\><hr></td></tr>;	
	$x++;

}
echo </table>;

?>

Link zum Script:

Nun habe ich noch ein Problem. Ich möchte bei allen Ausgaben (1-3) dasselbe Format und zwar jeweils so wie bei Ausgabe 2 also:

+41797622123

Das heisst nun also, das jeweils die erste Null (oder die ersten beiden Nullen) durch ein +41 ersezt werden muss. Wie stelle ich das an?

Danke...
 
  • #4
Code:
<?php

$mobile = array(079 76.22-1-23 Private,
             +41(0)7976.22'123,
             0079  762.'2(123));

$x = 1;

echo <table>;
foreach ($mobile as $nr) {
	echo <tr><td width=\100px\>;
	echo Eingabe $x;
	echo </td><td>;
	echo $nr;
	echo </td></tr><tr><td>;
	echo Ausgabe $x;
	echo </td><td>;
	$nr = ereg_replace(^(00|0|\+41\(0\)), +41, $nr);
	$nr = ereg_replace([^0-9\+],->', $nr);
	echo $nr;
	echo </td></tr><tr><td colspan=\2\><hr></td></tr>;
	$x++;
}
echo </table>;
?>

:froehlich1:
 
  • #5
Perfekt! Jetzt noch ein kleines weiteres Problem!

Sieh dir folgendes Script an:



Es filtert die jeweilige Eingabe perfekt! Ausser bei der Eingabe Vier und 5! Die Ausgabe sollte folgendermassen aussehen:

Ausgabe 4: +41797622123

und nicht...

Ausgabe 4: +410797622123


Ausgabe 5: +41797622123

und nicht...

Ausgabe 5: ++4107907622123

Hast du einen Vorschlag?
 
  • #6
ok habe es nach langem hin un her herausgefunden :D

Code:
<?php
$nr = ereg_replace(([^0-9\+]|\(0\)),->', ereg_replace(^(00|0|\++41\(?0?0\)?), +41, $nr)); 
?>
 
  • #7
Naja, und was machste wenn eine/r mal wegen Reichtums nach Monaco oder so auswandert, dann isses nimmer die +41 :° :°
 
Thema:

PHP - String analysieren

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben