2013-07-09 47 views
1

我已經看到了很多關於如何使用preg_replace執行此操作的示例,但我不確定preg_replace是否已經停用並替換爲str_replace ??。使用Str_replace從輸出的發票中刪除信息

反正在我的每一個發票字段我有一個具有同種模式的庫存水平:

- (99 In Stock) - 

所以每一行都有類似上述股票的水平,我想要做的就是替換隻有:

- 

所以基本上取代一切插圖中 - 和 - 只有一個 -

有誰知道這是如何與str_replace函數來完成,或者什麼是最好的合作爲什麼要這樣做呢?

+0

'我不知道,如果preg_replace函數已經停止與str_replace函數?'使這一說法的任何證據所取代。? – anubhava

+0

因爲當我發佈了一些有關preg替換過去我被告知不要使用它,因爲它已停止 –

+0

請參閱本手冊:http://php.net/manual/en/function.preg-replace.php – anubhava

回答

1

preg_replace在這裏也是非常有用的。使用此電話:

$repl = preg_replace('/-[^-]*-/', '-', '- (99 In Stock) -'); 

或使其更加嚴格:

$repl = preg_replace('/-\s*\(\d+ In Stock\)[^-]*-/', '-', $str); 
+0

嗨,謝謝你,問題是99並不總是有貨,可能有任何數量的庫存。 –

+0

是的上面的代碼將適用於兩者之間的任何事情。 – anubhava

+0

您可以在'$ str'上面傳遞任何其他值,如'(50 In Stock)'。 – anubhava