如何检测某些字符串旁边的换行符并将其删除?

时间:2015-04-24 06:27:38

标签: php

我在数据库中有description列,它包含样本数据为bleow

Product/Service: product
First Payment Amount: $50 USD
Recurring Amount: $10 USD

我想用First Payment Amount: $50 USD替换字符串blank,所以我使用了str_replace,如下所示

$details = str_replace('First Payment Amount: $50 USD', '', $description);
echo $detsils;

但结果显示如下

Product/Service: product

Recurring Amount: $10 USD

存在差距。这是因为字符串First Payment Amount: $50 USD之后的换行符。如何检测某些字符串旁边的line breaks并在这种情况下删除它并得到这样的结果。

Product/Service: product 
Recurring Amount: $10 USD

3 个答案:

答案 0 :(得分:1)

您可以使用preg_replace在一个方面使用它:

$url = "Product/Service: product
First Payment Amount: $50 USD
Recurring Amount: $10 USD";

$url = preg_replace('/First Payment Amount\: \$[0-9]+ USD[\s]+/i', '', $url);

\s (docs here)正在搜索空格,两种类型的换行符都是空格,所以你不介意从你接收字符串的操作系统。

最后不需要

i,但我已经习惯了。它将模式转换为不区分大小写。

答案 1 :(得分:0)

尝试以下:

$details = str_replace('First Payment Amount: $50 USD\r\n', '', $details);

答案 2 :(得分:0)

在替换

之后尝试这个
$details =  preg_replace( "/\r|\n/", "", $description );