【问题标题】:php code for replace "\" from a word, how possible从单词中替换“\”的php代码,怎么可能
【发布时间】:2014-01-27 22:50:36
【问题描述】:

我的php变量是这样的:

$abc = "stack\overflow";

我想从$abc 中删除"\"。我试过这个:

$abc1 = str_replace("\", "N", $abc);

但这显示一个错误。有没有其他选择?

【问题讨论】:

  • 请使用带有语法高亮的编辑器——它会以用于字符串的颜色显示\", N", $abc); 后面的所有内容都将被标记为语法错误。甚至这个网站上突出显示的语法也会显示该错误。 (你看,N 是黑色的,而字符串内容是棕色/橙色的)
  • 你不应该首先看看它是如何进入变量的吗?
  • @Dagon 也许是用户输入
  • @Dagon \o 不是转义序列,所以你可以这样输入反斜杠。
  • 也许为什么知道来源很重要

标签: php replace preg-replace


【解决方案1】:

\ 是一个特殊字符,它正在逃避你的配额,这就是你的字符串没有结束的原因......只需使用$abc1 = str_replace("\\", "N", $abc); - 它会起作用。

【讨论】:

    【解决方案2】:

    我的不好,已编辑,你必须用双斜杠替换它\

    $abc="stack\overflow";
    
    $abc1= str_replace("\\", "N", $abc);
    

    【讨论】:

      【解决方案3】:

      反斜杠\php strings 的转义字符,这通常意味着您不能像这样使用它,而期望它仅用作反斜杠字符。相反,它用于定义转义序列,用于表示其他无法表达的字符。这使得反斜杠也成为一个特殊字符,也需要转义。

      在您的原始文本中,反斜杠位于 o 之前。 \o 不是转义序列,因此反斜杠实际上被解释为它自己的字符。但是,在 str_replace 调用中,您在右引号之前使用了反斜杠。这会转义引号,防止字符串结束。如果您只想替换反斜杠,则必须对其进行转义:

      $abc1 = str_replace("\\", "N", $abc);
      

      【讨论】:

        猜你喜欢
        • 2015-12-23
        • 2023-03-18
        • 1970-01-01
        • 2020-05-16
        • 1970-01-01
        • 1970-01-01
        • 2012-03-16
        • 2021-11-22
        • 1970-01-01
        相关资源
        最近更新 更多