将PHP字符串变量添加到包含引号的文本框值

Mar*_*ark 2 php string variables quotes escaping

我正在尝试使用php变量填充HTML文本框.变量是一个带有单引号的字符串,并从数据库中检索.

当我回显变量时,它看起来应该是 - 即."这是我的字符串"所以,它正确显示'单引号.

但是当我尝试将该变量放入文本框字段时,即.

<? echo("<input type='text' name = 'title' value='$title'/>");?>
Run Code Online (Sandbox Code Playgroud)

引号被忽略..

非常感谢任何帮助,因为我尝试通过一些HTML格式化函数运行变量,但无济于事.

Orb*_*ing 6

您应该将其更改为:

<input type="text" name="title" value="<?php echo htmlentities($title, ENT_QUOTES); ?>" />
Run Code Online (Sandbox Code Playgroud)

htmlspecialchars()htmlentities()用于使用正确的编码将字符串转换为HTML.

ENT_QUOTES选项可确保撇号和语音标记也正确编码.