| 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! Post your PHP questions here! |
 |
|

07-03-2009, 12:13
|
|
RamonaS
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 177
|
|
Teiele im String ersetzen
Hallo,
Ich möchte von dem Inhalt einer Variable (beliebiger Länge) nur das erste und das letzte Zeichen ausgeben, alles dazwischen soll durch * ersetzt werden
Beispiel:
$var="Hello World":
soll so ausgegeben werden: H*********d
$var="Tel: 123456";
soll so ausgegeben werden: T*********6
Wie schreibt man das in PHP am einfachsten?
Danke
|

07-03-2009, 13:03
|
|
php_fussel
Newbie
|
|
Registriert seit: Jan 2009
Beiträge: 120
|
|
Hallo,
guck Dir mal DAS in Verbindung mit DEM an ... und überlege etwas!
Gruß php_fussel
|

07-03-2009, 13:31
|
|
ArSeN
Registrierter Benutzer
|
|
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
|
|
Joa, zu den beiden anderen vielleicht noch DAS hier. Damit du die richtige Anzahl Sternchen ganz leicht bekommst.
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
|

07-03-2009, 13:44
|
|
php_fussel
Newbie
|
|
Registriert seit: Jan 2009
Beiträge: 120
|
|
Wohl wahr ... das ist natürlich kürzer als ...
PHP-Code:
$sub = "";
for($i = 0; $i < strlen($string)-2; $i++) $sub .= "*";
Gruß php_fussel
p.s.: Frage an den/die Mod/s: "Ab wann bin ich eigentlich kein 'Newbie' mehr?!".  EDIT: Und ... schon gelöst? Ergibt einen netten "Einzeiler" ...!
Geändert von php_fussel (07-03-2009 um 15:07 Uhr)
|

07-03-2009, 15:04
|
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
OffTopic:
Zitat:
Original geschrieben von php_fussel
p.s.: Frage an den/die Mod/s: "Ab wann bin ich eigentlich kein 'Newbie' mehr?!".
|
Das dauert noch... 
|

07-03-2009, 15:11
|
|
php_fussel
Newbie
|
|
Registriert seit: Jan 2009
Beiträge: 120
|
|
Wenn das so ist ... dann werde ich ab sofort zu allem meinen Senf dazu geben  !
Gruß php_fussel
p.s.: Oder ich mache einen Extra-Thread auf und führe ein Selbstgespräch bzw. antworte mir selber
|

07-03-2009, 16:50
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
PHP-Code:
echo $var[0].str_repeat('*', strlen($var)-2).$var[strlen($var)-1];
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-03-2009, 16:56
|
|
RamonaS
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 177
|
|
Danke an alle, ja jetzt hat das geklappt, ich bin leider nicht gut in php
|

07-03-2009, 19:02
|
|
php_fussel
Newbie
|
|
Registriert seit: Jan 2009
Beiträge: 120
|
|
@ wahsaga: Ach menno, mußt Du denn alles verraten ... so kleine Sachen zum Üben sollte man schon selber machen lassen ...!
Oder so ...
PHP-Code:
$var="Tel: 123456";
//soll so ausgegeben werden: T*********6
echo substr_replace($var,str_repeat("*",$erg=strlen($var)-2),1,$erg);
Gruß php_fussel
Geändert von php_fussel (07-03-2009 um 19:25 Uhr)
|

07-03-2009, 23:21
|
|
ModestLife
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 105
|
|
Oder so ...
PHP-Code:
$var = 'Tel: 123456';
echo substr_replace($var, str_repeat('*', strlen($var) - 2), 1, -1);
|

08-03-2009, 01:31
|
|
RamonaS
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 177
|
|
and the winner is.....ModestLife
Deine Variante ist um 3 zeichen kürzer als die von wahsaga
danke nochmal an alle für die schnelle Hilfe
|

08-03-2009, 01:43
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Deine Variante ist um 3 zeichen kürzer als die von wahsaga
|
Da würd ich ja eher auf die Performance achten, die zu testen spare ich mir jetzt aber.
|

08-03-2009, 11:37
|
|
ModestLife
Registrierter Benutzer
|
|
Registriert seit: Sep 2007
Beiträge: 105
|
|
Bei sowas auf die Performance achten? Also bitte ... ;-)
|

08-03-2009, 15:27
|
|
RamonaS
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 177
|
|
Au ja, das ist ein gute Idee mit der Performance...und schon habe ich eine neue Frage:
Wie macht man sowas um zu sehen welche funktion schneller als die andere läuft?
Ich denke mal das wird wohl per schleife gemacht, aber um da gescheite ergebnisse zu erhalten muß man diesen durchgang 100. oder 1000. Male ausführen?
Gibts so ein fertiges script wo man seine 2 konkurenten einfügt und dann läßt sich testen welche schneller ist?
Danke
|

08-03-2009, 15:32
|
|
php_fussel
Newbie
|
|
Registriert seit: Jan 2009
Beiträge: 120
|
|
Mal eine andere Frage ... wofür brauchst Du das überhaupt?
Ansonsten Schleife basteln und Stop-Uhr  ...
Gruß php_fussel
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| 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.
HTML-Code ist aus.
|
|
|
|
PHP News
|