2013-07-09 103 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