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添加(按钮)
有谁知道如何删除文本周围的双引号? (如果您需要更多代码,请向我发表评论)
答案 0 :(得分:4)
您正在将文字插入HTML。要逃避它,请使用htmlspecialchars
。 HTML不是JSON。请勿使用json_encode
。
echo '<tr class="questiontd"><td>'.htmlspecialchars($question).'</td>';
答案 1 :(得分:0)
从第二行删除json_encode。如果你对字符串进行json编码,它将始终是双引号。
答案 2 :(得分:0)
只需使用htmlspecialchars()
即可删除它们。
echo '<tr class="questiontd"><td>', htmlspecialchars($question), '</td>';
执行的翻译是:
'&' (ampersand) becomes '&'
'"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
"'" (single quote) becomes ''' (or ') only when ENT_QUOTES is set.
'<' (less than) becomes '<'
'>' (greater than) becomes '>'
答案 3 :(得分:0)
这是真的
当你只是吐出html时,为什么json编码问题?不要编码,你可能不会得到报价。
但是对于一个简单的解决方案,如果你仍然坚持使用json_encode
echo '<tr class="questiontd"><td>'.str_replace(json_encode($question),"\"","").'</td>';
或更优雅
echo '<tr class="questiontd"><td>'.htmlspecialchars($question).'</td>';