【问题标题】:PHP - newline and BR removalPHP - 换行符和 BR 删除
【发布时间】:2012-04-10 11:00:22
【问题描述】:

我有一个字符串

"PRINT CHIFFON<BR /><BR />

"

我正在尝试删除任何换行符和
标签。

$i->colour_code = str_replace('<br>', '', strip_tags($i->colour_code));
$i->colour_code = str_replace('<br \/>', '', strip_tags($i->colour_code));
$i->colour_code = preg_replace("/[\n\r]/","",$i->colour_code); 

这仍然行不通。任何想法都会受到赞赏,因为这个问题会导致整个系统停止工作

【问题讨论】:

  • 抱歉浪费大家的时间,如果将 str_replace 更改为 str_ireplace 使其不区分大小写,我发布的代码将可以正常工作。

标签: php string


【解决方案1】:

您不需要在第二行替换中转义斜线。事实上,由于您通过strip_tags 运行它,您甚至不需要前两个替换。试试这个:

$i->colour_code = str_replace(Array("\n","\r"),"",strip_tags($i->colour_code));

只要确保$i-&gt;colour_code 不是只读的。

【讨论】:

    【解决方案2】:

    你的意思是它不起作用?我刚刚做了一个测试,你的代码确实有效,你的 $i->colour_code 有问题。

    【讨论】:

      【解决方案3】:

      既然你似乎可以使用 preg_replace,我建议使用这行代码:

      $i->color_code = preg_replace('/(<br>|<br ?\/>|\r|\n)/i', '', $i->color_code);
      

      与您的示例不同,它也不区分大小写,因此它是 br 还是 BR 都没有关系。

      【讨论】:

      • 这段代码不错,我决定使用 str_ireplace 但你的解决方案似乎更优雅
      • 谢谢。由于我和 Kolinks 的答案都可以解决您的问题,因此我建议单击复选框以接受其中一个答案:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多