【问题标题】:php how to print backslashesphp如何打印反斜杠
【发布时间】:2016-04-13 13:54:55
【问题描述】:

我有一个可以包含反斜杠的输入,如何打印该字符串:

<?php

$input = 'B\lB\\lAn';

echo $input;

它打印 B\lB\lAn 而不是 B\lB\\lAn

addslashes($input) 打印B\\lB\\lAn

如何打印B\lB\\lAn

谢谢

【问题讨论】:

标签: php string formatting backslash


【解决方案1】:

PHP 认为您正试图逃避 /,因为您有 2 个斜杠接一个,请尝试编写以下代码:////

【讨论】:

  • 这是我的外部输入 'B\lB\\lAn' 我只想按原样打印,我的输入无法更改
【解决方案2】:

我很惊讶addslashes 不只是在所有反斜杠上添加斜杠,而且很容易实现:

<?php

$input = str_replace('\\', '\\\\', 'B\lB\\lAn');

echo $input;

应该输出B\lB\\lAn

【讨论】:

  • @fj123x,我什至无法理解为什么它会这样输出。所以它将\\l 打印为\\l\\\\l 打印为\\l?我会做更多的阅读,但我找不到你的问题的逻辑。
  • 嗯,这与我有一个与谷歌地图 api 连接的应用程序有关,用户创建了一些路线等,谷歌地图向客户端返回一个路径字符串,如:weight:3%7Ccolor:blue%7Cenc:u|p|Fy_{KrDw@vDw@pCeAhI}C\pANVh@CrAjIlAbFnAnClAvBn@t@hAbAhDnBpFlBZHlB\lCt@xA@bAOp@KrAECAbDSlKw@x @@h@Nd@^V@z@Ej@xB\\lAn@t@@v@r...,我需要使用该字符串从后端调用http staticmaps api来检索该路由的图像,所以我得到一个像B\lB\\lAn 这样的输入,我需要把它打印出来。
猜你喜欢
  • 2023-03-18
  • 2019-05-05
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多