0
echo '<tr class="questiontd"><td>'.htmlspecialchars($question).'</td>';
echo "<td class='addtd'><button type='button' class='add' onclick=\"parent.addwindow('$question');\">Add</button></td></tr>";

现在到上面的代码将显示这个例如:

问题按钮

“什么是 2+2” 添加(按钮)

但我不想""绕开这个问题,我希望它显示如下:

问题按钮

什么是 2+2 加(按钮)

有谁知道如何删除文本周围的双引号?(如果您需要更多代码,请给我评论)

4

4 回答 4

4

您正在将文本插入 HTML。要逃避它,请使用htmlspecialchars. HTML 不是 JSON。不要使用json_encode.

echo '<tr class="questiontd"><td>'.htmlspecialchars($question).'</td>';
于 2012-10-08T14:59:32.477 回答
0

从第二行删除 json_encode。如果您对字符串进行 json 编码,它将始终用双引号引起来。

于 2012-10-08T15:00:02.307 回答
0

只需使用htmlspecialchars()删除它们。

echo '<tr class="questiontd"><td>', htmlspecialchars($question), '</td>';

执行的翻译是:

'&' (ampersand) becomes '&amp;'
'"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.
"'" (single quote) becomes '&#039;' (or &apos;) only when ENT_QUOTES is set.
'<' (less than) becomes '&lt;'
'>' (greater than) becomes '&gt;'
于 2012-10-08T15:00:50.360 回答
0

这是真实的

当您只是吐出 html 时,为什么要对问题进行 json 编码?不要对其进行编码,您可能不会得到引号。

但是,如果您仍然坚持使用 json_encode,那么对于一个简单的解决方案

echo '<tr class="questiontd"><td>'.str_replace(json_encode($question),"\"","").'</td>';

或者更优雅

echo '<tr class="questiontd"><td>'.htmlspecialchars($question).'</td>';
于 2012-10-08T15:01:35.760 回答