pdo php javascript(ajax)的简单引号转义问题

pdo php javascript(ajax)的简单引号转义问题,php,jquery,html,ajax,quotes,Php,Jquery,Html,Ajax,Quotes,我的问题是: 我使用php脚本(在ajax查询中调用)中的PDO从数据库中获取一个字符串: 字符串包含一个引号:' example : it's strange 在本php脚本的后面部分,我将字符串放入一个长字符串变量中,并将其发送回ajax查询: ...some code $myString = $pdoObject['field']; ...some code $wholeString = "<tr><td><span title='$m

我的问题是:

我使用php脚本(在ajax查询中调用)中的PDO从数据库中获取一个字符串:

字符串包含一个引号:'

example :
          it's strange
在本php脚本的后面部分,我将字符串放入一个长字符串变量中,并将其发送回ajax查询:

...some code
$myString = $pdoObject['field'];
...some code
$wholeString = "<tr><td><span title='$myString'>Some Text</span></td></tr>";
标题总是在引用处删去:

<tr><td><span title='it'>Some Text</span></td></tr>
一些文本
如果我在将$myString放入$whistString之前尝试使用htmlspecialchars或htmlspecialchars,它不会改变任何东西。。。我在某处错过了一些东西


感谢您的帮助

您基本上遇到了html注入问题。您需要使用htmlspecialchars()来转义文本中的所有html元字符,其中包括

e、 g

$whisttring=“一些文本”;
正如在代码中所写,您将生成:

<tr><td><span title='It's strange'>Some text etc...

是的,我同意你的答案,但是,在我的代码中,如果我将“$myString”替换为“'.htmlspecialchars($myString)。“'结果完全相同。。。什么都没变啊。。很抱歉忘记了specialchars在默认情况下不执行
。您必须使用
htmlspecialchars($text,entu QUOTES)
谢谢,这解决了我的问题:)(我只能在几分钟内接受答案,我必须走了,我很快就会做;)
$wholeString = "<tr><td><span title='" . htmlspecialchars($myString, ENT_QUOTES) . "'>Some Text</span></td></tr>";
<tr><td><span title='It's strange'>Some text etc...
<span
   title='It'    // attribute "title" with value "It"
   s             // unknown random attribute s
   strange'      // unknown random attribute "strange" with illegal single-quote