将特殊字符(如'\ t')转换为"\ t"(实际制表符)

Mar*_*arm 6 php csv special-characters

我想在我的网站上创建一个CSV文件导入程序.我希望用户选择分隔符.

问题是当表单提交时,分隔符字段存储为'\ t',例如,因此当我解析文件时,我搜索字符串'\ t'而不是真正的TAB.它对每个特殊字符都有同样的作用,比如\ r,\n等...

我想知道用于将这些字符转换为真实表示的方式或函数,而不使用如下数组:

  • 't'=>"\ t"
  • 'r'=>"\ r"
  • ...

Seb*_*oli 6

你应该决定允许哪些特殊字符并创建一个像这样的函数:

function translate_quoted($string) {
  $search  = array("\\t", "\\n", "\\r");
  $replace = array( "\t",  "\n",  "\r");
  return str_replace($search, $replace, $string);
}
Run Code Online (Sandbox Code Playgroud)