【问题标题】:How to convert JavaScript code to its PHP equivalent?如何将 JavaScript 代码转换为其 PHP 等价物?
【发布时间】:2017-09-27 03:35:05
【问题描述】:

我有js代码:

var b = "aHR0cDovL3d3dy5oZHpvZy5jb20vZ2V0X2ZpbGUvМS84Y2Е5МTЕ4ZmМyNmVkNTk0ZmI5Yzc2ZWI2Y2Y2YWVmМС85NDАwМС85NDU4Ny85NDU4Ny5tcDQvP3RpbWU9МjАxNzА5МjYyМDIxNDYmcz05МTUzZmNmYjАyOTUyOWQxY2JhZTВkYzNkY2ZhODVmZiZicj0xODЕ1JmQ9МTcwNyZmPXZpZGVvLm0zdTg~";
var f = "\u0410\u0412\u0421D\u0415FGHIJKL\u041cNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,~".indexOf(b.charAt(0));
document.write(f);

它返回 26。 我将js代码转换为php代码:

$url = 'aHR0cDovL3d3dy5oZHpvZy5jb20vZ2V0X2ZpbGUvМS84Y2Е5МTЕ4ZmМyNmVkNTk0ZmI5Yzc2ZWI2Y2Y2YWVmМС85NDАwМС85NDU4Ny85NDU4Ny5tcDQvP3RpbWU9МjАxNzА5МjYyМDIxNDYmcz05МTUzZmNmYjАyOTUyOWQxY2JhZTВkYzNkY2ZhODVmZiZicj0xODЕ1JmQ9МTcwNyZmPXZpZGVvLm0zdTg~';
$str = "\u0410\u0412\u0421D\u0415FGHIJKL\u041cNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,~";
$str = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $str);
$f = strpos($str, $url[0]);
echo $f;

但它返回 31。为什么?

【问题讨论】:

标签: javascript php code-conversion


【解决方案1】:

'\u0421' 在 JavaScript 中代表一个字符。然而,在 PHP 中,它不是。这就是 JavaScript 在索引 0 和 'a' 的第一个实例之间显示较少空格的原因。

要解决这个问题...我很确定这就是您正在寻找的...How to decode Unicode escape sequences like "\u00ed" to proper UTF-8 encoded characters?

【讨论】:

  • 谢谢,我用过,但是php仍然返回31,而不是返回26。为什么?
  • 您实际上可以使用它... $str = json_decode('"' . $str . '"'); var_dump($str); $f = strpos($str, $url[0]);
  • 谢谢@John,你能帮我转换一下吗:64 != g && (c += String.fromCharCode(e));到 php?
猜你喜欢
  • 2016-04-29
  • 1970-01-01
  • 2018-10-05
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多