我使用带有分隔符的flatfile数据库,分隔符由用户定义并存储在$this->_config->delimiter()
中。我想在输入字符串上运行Regexp以安全地转义分隔符和\
字符,例如。
// $this->_config->delimiter() = "|"
$input = "the quick | brown \ fox jumped";
// function returning output here
$output = "the quick \| brown \\ fox jumped";
如果你在没有正则表达式的情况下知道更好/更快的方法,我也会这样做。
是否可以使用正则表达式中的变量执行此操作?
答案 0 :(得分:0)
您不需要正则表达式。做:
str_replace(array('\\', $this->_config->delimiter()),
array('\\\\', '\\' . $this->_config->delimiter()),
$variable);
答案 1 :(得分:0)
您可以使用strtr
[docs]:
$input = strtr($input, array(
$this->_config->delimiter() => '\\' . $this->_config->delimiter(),
'\\' => '\\\\'
));