2016-04-23 18 views
0

Ich habe Preiswert, der Pfundzeichen davor hat. Ich muss dieses Zeichen entfernen.PHP Entfernen Pfund Zeichen (£) aus Preis

$price = '£3.76' (This comes from database and is stored as a string within the database) 

1) preg_replace('/[\£]/', '', $price); 
2) ltrim($price, '£'); 
3) str_replace(utf8_decode("£"),"",utf8_decode($price)); 
4) str_replace('£', '', $price); 

Ich habe versucht, alles zu verwenden, aber nichts hat funktioniert. 1 und 4 ersetzt durch  und 2 und 3 addiert  links vom Wert. Kann mir bitte jemand helfen?

+0

Welcher der oben genannten Befehle ergibt die Ausgabe, die Sie sehen? Bitte posten Sie den vollständigen String mit dem Preis als Beispiel, damit wir Ihnen ein Beispiel aus der Praxis geben können. – nvisser

+0

Ich habe die Frage jetzt bearbeitet bitte lassen Sie mich wissen, wenn es jetzt klarer ist. – user4676307

+2

Wenn im Browser "' "angezeigt wird, liegt dies daran, dass die Zeichencodierung vom Typ" Content ", die vom Server gesendet wird, falsch ist. Sie können 'header ('Content-type: text/html; charset = utf-8');' zu Ihrem Skript hinzufügen, um das Nummernzeichen richtig anzuzeigen. Aber '$ price = str_replace ('£', '', $ price);' funktioniert gut für mich, um es zu entfernen. – drew010

Antwort

0

Ich hatte eine ähnliche Situation. Versuchen Sie den folgenden Code:

$amount = "$500"; 

echo substr($amount,1,strlen($amount)); // returns "500" 
+0

Da das Nummernzeichen kein ASCII ist, werden 2 Bytes verwendet, daher muss mb_substr verwendet werden. – drew010

+0

@ drew010 Ich habe mb_substr für jetzt verwendet, um das erste Zeichen zu ersetzen. Jedoch denke ich immer noch nicht, dass dies die richtige Lösung ist, da es möglich sein kann, dass das Pfundzeichen nicht in der Saite vorhanden ist – user4676307

Verwandte Themen