2012-04-10 12 views
1

Zugabe bekam ich diese VariablePHP-Variable, ein Wort zwischen

$test = 'Alpha, Gamma, Beta'; 

Was ist die beste Praxis, dieses Ergebnis zu bekommen? Wie füge ich ein bestimmtes Wort dazwischen hinzu, wie ich unten Strahlen hinzufüge.

Alpha-Strahlen, Gamma-Strahlen, Beta-Strahlen

+0

Ist die Zeichenfolge immer von der Form 'etwas {Komma} {Raum}' sein würde ...? – Gricey

Antwort

9

Versuchen Sie diesen Code Stück

$test = preg_replace('/(,|$)/', ' Rays$1', $test); 

Ich kann nicht sagen, ob es "Best practice" ist, aber es ist eine Praxis, funktioniert und ist einfach. Sie können wahrscheinlich eine andere Lösung erstellen, die Ihnen eine bessere Leistung bringt, und das könnte "Best Practice" sein, wenn Leistung das Problem ist.

Aber wenn Einfachheit der Weg ist, ist das gut.

Edit:

Da einige andere Antworten str_replace verwenden, kann ich eine funktionierende Lösung für diese geben:

$test = str_replace(',',' Rays,', $test).(empty($test)?'':' Rays'); 
+0

im obigen Code (letzte Codezeile) Es kommt in dieser Reihenfolge 'Alpha Rays, Beta, Rays, Gamma Rays'. Wie man es auf diese Weise bringt "Strahlen Alpha, Strahlen Beta, RAys Gamma"? – Mas

+0

@Mas: Wenn Sie mit 'str_replace' auf die Zeile verweisen, können Sie das Wort zuerst auf diese Weise platzieren:' $ test = (leer ($ test)? '': 'Rays') .str_replace (',', ' , 'Rays', $ test); ' – ANisus

0

Verwendung explodieren

$x = explode(",", $test); 

dann

implodieren
$x = implode(" Ray ,", $x); 

oder foreach und etwas anderes hinzufügen. implode - explode

+0

' Beta' wird keine 'Strahlen' mit dieser Lösung bekommen, fürchte ich. – ANisus

1

Sie können versuchen, die Funktion str_replace für jedes gefundene Komma zu verwenden.

Beispiel:

$str = str_replace("," , " Rays," , $test.' Rays'); 

Sie können mehr über sie here

Verwandte Themen