4

标题几乎是不言自明的......
如何回显八进制字符串?
我试过了 :

<?php
echo '\047\131\145\141\162\040\072\040\047'.'<br>';
echo decoct('\047\131\145\141\162\040\072\040\047').'<br>';
echo decoct('047').decoct('131').decoct('145').decoct('141').decoct('162').decoct('040').decoct('072'),decoct('040').decoct('047').'<br>';
?>

但没有什么对我有用......
我很确定这里需要一些小的调整但是......哪一个?
谢谢!

4

3 回答 3

6

转义序列仅在双引号字符串内处理,而不是单引号字符串。

echo "\047\131\145\141\162\040\072\040\047".'<br>';
于 2014-12-14T11:49:21.550 回答
4

这是一个反斜杠转义字符串,因此用于stripcslashes()取消转义,如下所示:

$escaped = '\047\131\145\141\162\040\072\040\047'.'<br>';
$unescaped = stripcslashes($escaped);
echo $unescaped;

结果:

'Year : '<br>
于 2015-04-13T13:05:49.857 回答
3

这可能会有所帮助

function convertOctalToCharacter($octal) {
    return chr(octdec($octal[1]));
}

对于使用八进制字符串的大规模标记,这种正则表达式处理也可能变得很方便:

$string = preg_replace_callback('/\\\\([0-7]{1,3})/', 'convertOctalToCharacter', $string);

学分转到http://www.matthewratzloff.com/博客文章

于 2014-12-14T11:51:53.197 回答