0

我对这个字符串有疑问

目前我通过简单的插入查询将一些字符串保存到数据库中并通过此代码清理数据

mysql_real_escape_string($data)

我使用简单的查询从数据库中获取数据

样本输入

$saveString = "You're great";

保存...

Insert into . . . values (mysql_real_escape_string($saveString))

现在当我得到字符串时,我得到了You're great字符串

当我使用此代码时

$str = str_word_count(strtolower($fromDbString), 1);

print_r($str);

它输出:

Array
(
    [0] => You're
    [1] => great 
)

但是,如果字符串来自文本框中的用户输入,我使用此代码。

   $str = str_word_count(strtolower($fromUserInput), 1);

    print_r($str);

我得到这样的东西:

   Array
    (
        [0] => You
        [1] => re
        [2] => great 
    )

如何将数据库中的字符串修复为像用户输入的字符串一样处理?

我试图htmlentities()检查这些值,输出是

来自 dbYou're great 来自输入You're great

我试图对来自 db 的字符串进行 html 解码,但它仍然输出You're great

4

2 回答 2

2

您可以尝试添加 addlashes():

$str = str_word_count(addslashes(strtolower($fromUserInput)), 1);

print_r($str);
于 2013-09-25T11:42:52.823 回答
0

如果你想返回一个包含所有字符串单词的数组,你可以试试这个 str_word_count

$str = preg_split("/[' ]/", strtolower($fromUserInput));
//$str = preg_split("/[' ]/", strtolower($fromDbString));
print_r($str);
于 2013-09-25T11:46:18.397 回答