PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doppelten Eintrag nur einmal ersetzen?


Viper
15.10.2003, 21:54:14
Hi!

Bsp.:

$test = "Hamburg,Bochum,Essen,Freiburg,Aachen,Bochum,Frankfurt" ;
$re = preg_replace("(Bochum)"," Gibt es schon! ",$test) ;

echo $re ;

Die Augabe würde so lauten:
Hamburg, Gibt es schon! ,Essen,Freiburg,Aachen, Gibt es schon! ,Frankfurt
was ja auch richtig ist.
Wie aber kann ich erreichen das "Bochum" nur einmal ersetzt wird?
Bsp.:
Hamburg,Bochum,Essen,Freiburg,Aachen, Gibt es schon! ,Frankfurt

Danke, Viper

Gweilo
15.10.2003, 23:01:45
Willst du das mit den anderen Städten auch machen? Können auch Städte vorkommen, die du nicht indexiert hast? (neu eingegebene städte). Sind die Städte in einer Datenbank gespeichert? Oder ist es bloss dieser String, mit einer bekannten Stadt?

Je nachdem gibt's bessere oder schlechtere Lösungen.

Nev
16.10.2003, 08:44:48
Hi @ll

wenn du die doppelten Einträge nicht brauchst, dann wäre folgendes Sinnvoll

Du splittest es in ein Array
löscht die doppelten Einträge
und fügst das ganze wieder zusammen.


$tmp_array = explode("," $test);
$tmp_array = array_unique($tmp_array);
$re = implode(",", $tmp_array);

Viper
16.10.2003, 14:51:59
Tja, da war mein erstes Posting nicht Aussagekräftig genug!

Ich habe eine PHP Datei. In dieser möchte ich etwas hinzufügen und speichern. Das ganze natürlich nicht am Ende der Datei weil das wäre ja einfach zu lösen.
Ich nenn mal ein Bsp.:
<?php
PHP Code
$variable = "ein Wert" ;
PHP Code
$variable = "ein Wert" ;
PHP Code
?>
Jetzt möchte ich hinter dem zweiten "$variable = "ein Wert" ;" sagen wir mal "$variable_zwei = "noch ein Wert" ;" hinzufügen.
Bisher habe ich das ganze so gelöst das ich einen Wert um 1 erhöhe wenn "$variable = "ein Wert" ;" gefunden wurde und dieser Wert bei "Wert==2" entsprechendes hinter dem zweiten "$variable = "ein Wert" ;" einfügt.
Diese Lösung finde ich nur irgendwie ... billig.
Gibt es da nichts "eleganteres"?

Gruss, Viper
Und Danke für eure bisherigen Bemühungen :)