php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.02.2010, 17:12  
Neuer Benutzer
 
Registriert seit: 02.12.2009
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Kurd Laßwitz befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Zahlen austauschen im String

Hallo!

Ich stehe gerade etwas auf dem Schlauch, bei diesem eigentlich kleinem Problem.

Ich habe einen String und möchte darin einige Zahlen austauschen. Also sowas wie das hier:

PHP-Code:
$a "1,2,3,4,5,6,7,8,9"
Ich habe ein array mit den Zahlen, die ausgetauscht werden sollen:

PHP-Code:
array(1,3,4,5,7,8); 
und ein Array mit den Replace-Zahlen

PHP-Code:
array(2,4,5,6,8,9); 
Nun wird, wenn ich das mit str_replace versuche z.b. auch die 3 zur 6 usw. wie kann ich php dazu veranlassen eine einmal getauschte Zahlen nicht nochmal zu tauschen?

Ich kann garnicht glauben, dass ich das nicht gelöst bekomme. Ich habe das gefühl, dass ich das mit preg_replace machen muss, weiss aber nicht genau wie.

Vielen Dank.
Kurd Laßwitz ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.02.2010, 17:15  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich würde da eher auf preg_replace() zugreifen, ansonsten ersetzt du 31,32 z.B. mit 42,42, was sicherlich nicht unbedingt gewollt ist.
Ehrlich gesagt frage ich mich aber, was du genau erreichen willst und ob das nicht auf einem schönere Weg ginge. Das hört sich irgendwie wieder nach dem Versuch an, Nested Sets zu umgehen.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 07.02.2010, 17:33  
Neuer Benutzer
 
Registriert seit: 02.12.2009
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Kurd Laßwitz befindet sich auf einem aufstrebenden Ast
Standard

Das war nur ein Beispiel ich möchte in einem xml-string Werte ändern, da gibt es so überschneidungen wie in dem Beispiel oben. Leider kann ich nicht, wie das Beispiel vielleicht vermuten lässt den String also nicht komplett neu generieren.
Das Beispiel würde ich vermutlich exploden und neu erstellen. War also nur ein Beispiel.

Wenn ich das mit preg_replace mache geht es auch nicht:
PHP-Code:
$zeichenkette ' 2 3 4 ';

$suchmuster = array();
$suchmuster[0] = '/2/';
$suchmuster[1] = '/3/';
$suchmuster[2] = '/4/';

$ersetzungen = array();
$ersetzungen[2] = '3';
$ersetzungen[1] = '4';
$ersetzungen[0] = '5';

echo 
preg_replace($suchmuster$ersetzungen$zeichenkette);

// liefert "5 5 5" 
kann ich das mit modifiern lösen?
Kurd Laßwitz ist offline  
Alt 07.02.2010, 17:34  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
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

strtr kann das glaube ich.
__________________
--
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 07.02.2010, 17:59  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Oder nimm explode() und wende den Replace dann auf die einzelne Elemente an.
preg_replace() war jetzt auch nicht als Endlösung gedacht, sondern dazu, einen Konflikt bei mehrstelligen Ziffern zu verhindern, indem du die Zahlen mit \b…\b eingrenzt. Das wäre bei der Variante mit explode() aber nicht notwendig.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 07.02.2010, 18:23  
Neuer Benutzer
 
Registriert seit: 02.12.2009
Beiträge: 20
PHP-Kenntnisse:
Anfänger
Kurd Laßwitz befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
strtr kann das glaube ich.
Vielen Dank! so geht es.

Zitat:
Zitat von Manko10 Beitrag anzeigen
Oder nimm explode() und wende den Replace dann auf die einzelne Elemente an.
preg_replace() war jetzt auch nicht als Endlösung gedacht, sondern dazu, einen Konflikt bei mehrstelligen Ziffern zu verhindern, indem du die Zahlen mit \b…\b eingrenzt. Das wäre bei der Variante mit explode() aber nicht notwendig.
Achso. Das wäre für das Beispiel 'ne gute Lösung. Das xml, dass ja meine WErte enthält kann ich aber leider nicht mit explode splitten. Das Beispiel war wohl doch nicht so gut gewählt. Die Lösung mit strtr geht aber echt gut.

Danke euch beiden.
Kurd Laßwitz ist offline  
Alt 07.02.2010, 18:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
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

Gerne. Trotzdem solltest Du in Zukunft etwas mehr über die Anwendung schreiben. Vielleicht gibt es andere, viel bessere Lösungen.
__________________
--
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  
 


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
[Erledigt] Anzahl der Unicode-Zeichen in einem String zählen vici PHP Tipps 2009 26 10.10.2009 14:48
[Erledigt] Zeichen im String zählen, aber nur die Buchstaben apfelsaft PHP Tipps 2009 20 31.07.2009 16:20
Records mit PHP ? SimStar001 PHP Tipps 2009 11 08.04.2009 15:14
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
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
Ziffern und Sonderzeichen in einem String zählen PHP Tipps 2006 2 15.03.2006 12:22
Zahlen aus einen String finden PHP Tipps 2006 4 25.02.2006 20:24
Problem Checkboxen - string mit Zahlen die gecheckten setzen Cyberbob_at_tot PHP Tipps 2005-2 5 11.06.2005 11:36
mehrere Geldbeträge in der DB direkt im sql string zählen PHP Tipps 2005 4 01.06.2005 15:29
Wie prüfe ich einen String ob nur Zahlen enthalten sind ? PHP Tipps 2005 7 31.05.2005 13:02
Buchstabe in ein String zählen PHP Tipps 2005 2 13.05.2005 14:30
Zählen, wie oft ein String in einer Variable vorkommt. R4v3r PHP Tipps 2005 8 08.04.2005 19:39
in string nach zahlen zwischen kommas suchen PHP Tipps 2004 3 30.10.2004 17:45
Funktion zum zählen von Zeichen in einem String PHP Tipps 2004 2 15.07.2004 16:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php zahlen ersetzen, string tauschen, php zahl ersetzen, zahlen ersetzen php, zahlen tauschen, php string tauschen, tausch string, php string zahlen ersetzen, javascript zahl ersetzen, preg_replace zahl ersetzen, string tauschen php, php string ändern, str replace zahlen, php nummer am anfang ersetzen, javascript zahl in string finden, php string replace nur ziffern, preg_replace zahl aus string hochzählen, preg_replace zahlen ersetzen, php preg_replace ziffern suchen, zahlen im string vertauschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:23 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