Problem mit str_replace

Geordi

Mitglied
Hallo, folgendes Problem.
nehmen wir an ich habe folgenden String:
3,18,1

nun soll str_replace dafür sorgen, dass die letzte 1 verschwindet.
Ein normales str_replace würde jetzt
3,8,
liefern.
Es müsste aber für meine Zwecke
3,18, liefern.

Noch idealer währe
3,18

Da gibt es dann nur Probleme weil der String auch

1,18,3
oder
3,1,18
aufgebaut sein kann und dann bei der ersten Variante gar kein Komma vorhanden ist, was entfernt werden kann.
Ich sehe gerade keine Methode, wie ich str_replace so verwenden kann, wie ich es benötige.

Hoffe mir kann da einer weiterhelfen.
 
PHP:
<pre>
<?php

function custom_replace($subject, $search)
{
	$array = explode(',', $subject);
	
	$result = array();
	foreach($array as $value)
	{
		if($value != $search)
		{
			$result[] = $value;
		}
	}
	
	return implode(',', $result);
}

$string = '1,18,3';

print_r(custom_replace($string, '1'));
?>
</pre>

Dann baut man sich eine kleine Funktion. ;)
 
Hallo,

hab ja auch nur bescheidene Kenntnisse über PHP, aber wenn ich dein Problem so sehe fällt mir spontan folgendes ein:

PHP:
$soll = "3,18,1";
$wert = substr("$soll", 0, 4);
echo "$wert";

So würd ich es versuchen, einfach die "störenden" Stellen weglassen.

Gruss Olli
 
Zuletzt bearbeitet:
Hallo,

hab ja auch nur bescheidene Kenntnisse über PHP, aber wenn ich dein Problem so sehe fällt mir spontan folgendes ein:

PHP:
$soll = " 3,18,1";
$wert = substr("$soll", 0, 4);
echo "$wert";

So würd ich es versuchen, einfach die "störenden" Stellen weglassen.

Gruss Olli

Aber er schreibt ja am Ende, dass der String beliebig aufgebaut ist und keine konstante Reihenfolge hat.
 
Zurück