Stringfunktion
Raffi
- php
0 Tobias Kloth0 Hubert0 Tobias Kloth0 Tom0 Tobias Kloth0 Tom
0 Raffi0 Hubert
Hallo Zusammen
Schlage mich jetzt schon einige Stunden mit den Stringfunktionen herum. Aber mir gelingt es einfach nicht, in einer Funktion alles auf einmal zu ersetzen.
Kann mir da jemand den Code sagen? Wär mega nett!
Folgende Umwandlung muss in einer Funktion geschehen:
&9g- wird zu &APY-
&5A- wird zu &AOQ-
&,A- wird zu &APw-
Danke schon im voraus!
Gruss
Raffi
Hallo Raffi,
Folgende Umwandlung muss in einer Funktion geschehen:
&9g- wird zu &APY-
&5A- wird zu &AOQ-
&,A- wird zu &APw-
verwende str_replace() (->http://www.php.net/str_replace) - die ersten beiden Parameter dürfen auch Arrays sein.
Grüße aus Nürnberg
Tobias
Nabend,
str_replace(): - die ersten beiden Parameter dürfen auch Arrays sein.
Der dritte darf es auch sein ;)
Bis denne,
Hallo Hubert,
str_replace(): - die ersten beiden Parameter dürfen auch Arrays sein.
Der dritte darf es auch sein ;)
*argh* natürlich - für den Zweck den Raffi braucht ist das aber nicht interessant :-)
Grüße aus Nürnberg
Tobias
Ich blick da nicht durch:
Müsste doch auch so gehen:
function test($str)
{
$test = str_replace("&9g-", "&APY-", $str);
$test = str_replace("&5A-", "&AOQ-", $test);
$test = str_replace("&,A-", "&APw-", $test);
return $test;
}
test( imap_utf7_encode($mbox)
Was mach ich da falsch?
Danke und Gruss
raffi
Nabend,
Was mach ich da falsch?
Du sagst nicht, ob deine Funktion das richtige liefert bzw was falsch ist. Zudem scheinst du immer noch nicht ins Manual geschaut zu haben.
Bis denne,
Hello,
function test($str)
{
$test = str_replace("&9g-", "&APY-", $str);
$test = str_replace("&5A-", "&AOQ-", $test);
$test = str_replace("&,A-", "&APw-", $test);
return $test;
}
oder so:
$_search = array("&9g-", "&5A-", "&,A-" );
$_replace = array("&APY-", "&AOQ-", "&APw-" );
$ergbnis_string = str_replace($_search,$_replace,$input_string);
Was es aber nun mit dem Array für den Input-String auf sich hat, geht für mich aus dem Manual nicht hervor.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
Nabend,
str_replace(): - die ersten beiden Parameter dürfen auch Arrays sein.
Der dritte darf es auch sein ;)
http://de2.php.net/manual/de/function.str-replace.php
"Ist subject ein Array, erfolgt das Suchen und Ersetzen an jedem Wert von subject, und der Rückgabewert ist ebenfalls ein Array."
Kann mir das mal bitte einer übersetzen, was damit gemeint ist?
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo Tom,
http://de2.php.net/manual/de/function.str-replace.php
"Ist subject ein Array, erfolgt das Suchen und Ersetzen an jedem Wert von subject, und der Rückgabewert ist ebenfalls ein Array."
Kann mir das mal bitte einer übersetzen, was damit gemeint ist?
ganz einfach: Wenn der dritte Parameter (subject) ein Array ist, wird die Ersetzenfunktion auf jedes der Elemente angewendet, und das Ergebnis zurückgegeben - wenn man das als Schleife schreibt sieht es etwa so aus:
$array = array('foo','bla','bar');
foreach($array as $key => $value){
$array[$key] = str_replace('a','b',$value);
}
mit str_replace alleine ist es dann eben nur noch:
//gleiches Array wie oben
$array = str_replace('a','b',$array);
print_r($array) ergibt bei beiden dann:
Array
(
[0] => foo
[1] => blb
[2] => bbr
)
alle Klarheiten beseitig? :-)
Grüße aus Nürnberg
Tobias
Hello,
alle Klarheiten beseitig? :-)
noch nicht ganz. Ich sehe schon, das muss noch untersucht werden ;-)
Wie verhält sich die Funktion denn bei geschachtelten Arrays im dritten Parameter?
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo Tom,
Wie verhält sich die Funktion denn bei geschachtelten Arrays im dritten Parameter?
das Array:
$array = array(array('foo','tampa','lang'),'bla','bar','blub');
wird zu:
Array
(
[0] => Array
(
[0] => foo
[1] => tampa
[2] => lang
)
[1] => ala
[2] => aar
[3] => alua
)
(wieder mit $array = str_replace('a','b',$array);)
Grüße aus Nürnberg
Tobias
Auf diese Funktion bin ich auch schon gestossen.
Nur weiss ich nicht wie ich das machen soll:
str_replace("&9g-", "&APY-", imap_utf7_encode($folder_name)))
Das ersetzt mir jetz eines der drei!
Aber wie bringe ich die andern zwei noch da rein?
Danke und Gruss
Nabend,
Nur weiss ich nicht wie ich das machen soll:
Tobias sagte es dir doch: Verwende als ersten und zweiten Parameter je ein Array. Schau dir doch einfach mal das Beispiel dazu im Manual an.
Bis denne,