使用PHP生成HTML时处理撇号

etm*_*124 1 html php

我正在基于XML配置值生成单选按钮.有时他们在文本中有撇号.在PHP中操作这些数据时,我似乎在撇号后丢失了所有内容.例如:

<input type='radio' name='remove[]' value='Government wants to limit employers' communications about unionization'>
Run Code Online (Sandbox Code Playgroud)

但是当在表单POST之后将其转储出来时,我得到了这个值:

array(1) {
[0]=>
string(35) "Government wants to limit employers"
}
Run Code Online (Sandbox Code Playgroud)

有关如何保留完整字符串的任何建议?谢谢!

Mar*_*c B 5

用途htmlspecialchars():

<input type="radio" ... value="<?php echo htmlspecialchars($array[0], ENT_QUOTES) ?>" ... />
Run Code Online (Sandbox Code Playgroud)

它明确地旨在允许在不打破html的情况下将任意文本安全地插入到html中.请注意'ent_quotes'选项.默认情况下,htmlspecialchars只会处理<>",但是由于你正在使用',你需要选择告诉htmlspecialchars来处理它们.