Php 使用Str_replace从输出的发票中删除信息

Php 使用Str_replace从输出的发票中删除信息,php,preg-replace,str-replace,Php,Preg Replace,Str Replace,我已经看到了很多关于如何使用preg_replace执行此操作的示例,但我不确定preg_replace是否已停止使用,是否已被str_replace替换 无论如何,在我的每个发票字段上,我都有一个具有相同模式的库存级别: - (99 In Stock) - 因此,每一行都有一个与上面类似的库存水平,我想做的是用以下内容替换: - 所以基本上用一个替换中间的所有东西- 有没有人知道str_replace是如何实现的,或者最好的命令是什么?preg_replace在这里非常有用。使用此呼叫

我已经看到了很多关于如何使用preg_replace执行此操作的示例,但我不确定preg_replace是否已停止使用,是否已被str_replace替换

无论如何,在我的每个发票字段上,我都有一个具有相同模式的库存级别:

 - (99 In Stock) -
因此,每一行都有一个与上面类似的库存水平,我想做的是用以下内容替换:

 -
所以基本上用一个替换中间的所有东西-


有没有人知道str_replace是如何实现的,或者最好的命令是什么?

preg_replace在这里非常有用。使用此呼叫:

$repl = preg_replace('/-[^-]*-/', '-', '- (99 In Stock) -' );
或者更严格一些:

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

preg_replace在这里非常重要,而且也是有目的的。使用此呼叫:

$repl = preg_replace('/-[^-]*-/', '-', '- (99 In Stock) -' );
或者更严格一些:

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

我不确定preg\u replace是否已经停产并被str\u replace替换掉了???
有任何证据证明这一点吗?正如我过去发布了一些关于preg replace的内容时,我被告知不要使用它,因为它即将停产请参阅本手册:
我不确定preg\u replace是否已经停产并被str\u replace替换掉了str_replace???。
有任何证据可以证明这一点吗?正如我过去发布了一些关于preg replace的信息时,有人告诉我不要使用它,因为它已经停止使用。请参阅本手册:您好,谢谢,问题是99不总是有库存,可以有任意数量的库存。您可以在上面的
$str
中传递任何其他值,如
(库存50)
。这是最初的样子:Bridestone Pt34-175/55/18/W/63-(库存99)-22.48英镑。在我使用上面的值后,看起来像这个Bridestone Pt34-(库存99)-22.48英镑,因此,出于某种原因,它是在(**库存)之前移除零件。我使用$description1=preg_replace('/-[^-]*-/','-',$row['description1']);很高兴知道它起作用了。只是想让您知道,如果不使用regex,这是不可能的,因此
preg_replace
:PHi感谢这一点,问题是99并不总是在库存中,库存可能有任何数量。您可以在上面的
$str
中传递任何其他值,如
(库存中的50)
。这是原始版本的样子:Bridestone Pt34-175/55/18/W/63-(99库存)-每件22.48英镑在我使用上面的版本后,它看起来像这个Bridestone Pt34-(99库存)-每件22.48英镑,因此出于某种原因,它会删除(**库存)之前的零件。我使用$description1=preg_replace('/-[^-]*-/','-',$row['description1']);很高兴知道它起作用了。只是想让您知道,如果不使用正则表达式,这是不可能的,因此
preg\u replace
:P