我正在使用php excel进行php项目..我已经为read excel表创建了php类。该类返回简单的json字符串..那个json字符串我将用于网页中的show data table。但是json字符串不能包含任何json字符。因此用户无法在Excel工作表中输入一些json字符。否则在编码json字符串时会产生很多错误。
防止此问题的最佳方法是什么? 有一些好的方法来阅读Excel工作表(使用库)?
答案 0 :(得分:0)
你必须在双引号之前添加斜杠才能使用此功能
<?php
$str = "Is your name O'Reilly?";
// Outputs: Is your name O\'Reilly?
echo addslashes($str);
?>
<强>已更新强>
JSON的高级功能
function json_string_encode($str) {
$callback = function($match) {
if ($match[0] === '\\') {
return $match[0];
} else {
$printable = array('"' => '"', '\\' => '\\', "\b" => 'b', "\f" => 'f', "\n" => 'n', "\r" => 'r', "\t" => 't');
return isset($printable[$match[0]])
? '\\'.$printable[$match[0]]
: '\\u'.strtoupper(current(unpack('H*', mb_convert_encoding($match[0], 'UCS-2BE', 'UTF-8'))));
}
};
return '"' . preg_replace_callback('/\\.|[^\x{20}-\x{21}\x{23}-\x{5B}\x{5D}-\x{10FFFF}/u', $callback, $str) . '"';
}