【问题标题】:Replacing backslashes with forward slashes with str_replace() in php在php中用str_replace()用正斜杠替换反斜杠
【发布时间】:2011-07-24 11:48:54
【问题描述】:

我有以下网址:

$str = "http://www.domain.com/data/images\flags/en.gif";

我正在使用str_replace 尝试将反斜杠替换为正斜杠:

$str = str_replace('/\/', '/', $str);

好像不行,结果是这样的:

http://www.domain.com/data/images\flags/en.gif

【问题讨论】:

    标签: php


    【解决方案1】:

    你必须放置双反斜杠

    $str = str_replace('\\', '/', $str);
    

    【讨论】:

    • @Subdigger:从技术上讲这并不正确,但你可以再等一会儿让他修复代码......
    • @genesis 你的答案和他的一样。
    • 见下文你也需要转义“\”。
    • 我认为str_replace() 的语法发生了变化,所以$str 现在应该是第一个参数。
    【解决方案2】:
    $str = str_replace('\\', '/', $str);
    

    【讨论】:

    • 这个答案是在接受答案之前;)应该被标记为正确的,因为它是相同的;)
    【解决方案3】:

    没有正则表达式,所以不需要 //.

    这应该可行:

    $str = str_replace("\\", '/', $str);
    

    你也需要转义“\”。

    【讨论】:

    • @Subdigger:发帖软件将我的双斜线替换为一个,因为我忘记使用“代码”块。投反对票然后发布完全相同的解决方案真是太蹩脚了。
    • @Sylverdrag:实际上 Subdigger 是答案的第一张海报;)
    • @Genesis:该死。我发帖时没有看到任何答案,但这件事进展得如此之快......
    【解决方案4】:

    你需要用 \ 转义反斜杠

      $str = str_replace ("\\", "/", $str);
    

    【讨论】:

      【解决方案5】:

      单引号 php 字符串变量有效。

      $str = 'http://www.domain.com/data/images\flags/en.gif';
      $str = str_replace('\\', '/', $str);
      

      【讨论】:

        【解决方案6】:

        您想替换反斜杠吗?

        试试 stripcslashes:

        http://www.php.net/manual/en/function.stripcslashes.php

        【讨论】:

        • 这会删除斜杠,而不是像问题所要求的那样替换它们。另外,请您链接到 PHP 手册的英文版本。 ;)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 2022-11-25
        • 2013-11-04
        • 1970-01-01
        • 2021-05-29
        • 1970-01-01
        相关资源
        最近更新 更多