我有一个文本区域,允许用户编写自己的输入,并将其保存到数据库中。
大多数用户从word或类似程序中复制他们的文本,该程序也将他们的选项卡复制到文本区域。
当选项卡保存到数据库中时,它会自动将它们转换为一个空间。
我想将选项卡作为适当的选项卡保存到数据库中,或者保存一定数量的空白,但我一开始就抓不到选项卡。
这是我迄今为止所尝试的(在从用户那里获得输入之后,在保存到数据库之前)
str_replace("'t", " ", $string);
str_replace(chr(9), " ", $string);
然而,我可以看出标签甚至没有被捕获,因为我尝试了这个:
if (strpos($string, "'t") !== false)
{
exit("The tab was found");
}
"出口"永远不会被调用。
我已经广泛搜索了这个问题的答案,但我还没有找到任何修复方法。
我真的很感谢在这方面的帮助。
Nathan Bell的评论"在看到值之前,是否对表单值进行了任何预处理?"。这让我思考。
我正在使用codeigniter作为我的php框架。在做了一些研究并查看了源代码后,我发现内置的安全类将我所有的选项卡格式化为一个空间,就像这样…
if (strpos($str, "'t") !== FALSE)
{
$str = str_replace("'t", ' ', $str);
}
所以我所做的只是将源代码更改为:
if (strpos($str, "'t") !== FALSE)
{
$str = str_replace("'t", ' ', $str);
}
现在它正在发挥作用。所以,感谢Nathan和其他所有提供帮助的人!