【问题标题】:Using Str_replace to remove info from an outputted invoice使用 Str_replace 从输出的发票中删除信息
【发布时间】:2013-07-09 14:08:59
【问题描述】:

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

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

 - (99 In Stock) -

所以每行都有一个类似于上面的库存水平,我想做的就是用以下内容替换它:

 -

所以基本上用一个 - 和 - 替换中间的所有内容 -

有谁知道如何使用 str_replace 来完成这项工作,或者使用它的最佳命令是什么?。

【问题讨论】:

  • I wasn't sure if preg_replace had been discontinued and replaced with str_replace ??. 有任何证据证明此声明?
  • 当我过去发布有关 preg replace 的内容时,我被告知不要使用它,因为它已经停产了

标签: php preg-replace str-replace


【解决方案1】:

preg_replace 在这里非常有用,也是有目的的。使用这个调用:

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

或者让它更严格:

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

【讨论】:

  • 您好,谢谢,问题是 99 并不总是有库存,可能有任何数量的库存。
  • 您可以在上面的$str 中传递任何其他值,例如(50 In Stock)
  • 这是原件的样子:Bridestone Pt34 - 175/55/18/W/63 -(99 件现货) - 每件 22.48 英镑 在我使用上述产品后,它看起来像这个 Bridestone Pt34 - (99 库存) - 每个 22.48 英镑,因此出于某种原因,它删除了(** 库存)之前的部分。
  • 我正在使用 $description1 = preg_replace('/-[^-]*-/', '-', $row['description1'] );
  • 很高兴知道它有效。只是为了让您知道,如果不使用正则表达式,这是不可能的,因此preg_replace:P
猜你喜欢
  • 1970-01-01
  • 2020-06-08
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 1970-01-01
  • 2011-08-27
相关资源
最近更新 更多