当我在输入值中使用不同的斜杠时,html斜杠系统正在破坏。
PHP
$val = "Brother's team say: " . '"Hello Man".';
HTML
<input value='<?php echo $val; ?>' >
输出是:
<input value='Brother's team say: "Hello Man".' >
EDIT :::
我将输入更改为textarea。 Textarea正在努力。
<textarea> <?php echo $val; ?> </textarea>
答案 0 :(得分:1)
某些字符在HTML中具有特殊意义,如果要保留其含义,则应由HTML实体表示。
http://php.net/manual/en/function.htmlspecialchars.php
HTML最好用双引号书写。虽然可以使用单引号,但有时结果不是可预测的。
例如:
<?php
$val = "Brother's team say: " . '"Hello Man".';
?>
<!-- testing single qouted values -->
<input value='<?php echo $val; ?>' ><br>
<input value='<?php echo htmlspecialchars($val); ?>' ><br>
<input value='<?php echo htmlentities($val); ?>' ><br>
<!-- testing double quoted values -->
<input value="<?php echo $val; ?>" ><br>
<input value="<?php echo htmlspecialchars($val); ?>" ><br>
<input value="<?php echo htmlentities($val); ?>" ><br>
将输出以下内容:
哥
哥
哥
兄弟的团队说:
兄弟的团队说:&#34; Hello Man&#34;。
兄弟的团队说:&#34; Hello Man&#34;。
只有最后两个是正确的。答案是使用htmlentities或htmlspecialchars并更正html行:
旧:
<input value='<?php echo $val_double; ?>' >
正确:
<input value="<?php echo htmlspecialchars($val_double); ?>" ><br>
答案 1 :(得分:0)
1.Solution Change输入到Textarea 我将输入更改为textarea。 Textarea正在努力。 但这不是最准确的解决方案。
HTML-PHP
<textarea> <?php echo $val; ?> </textarea>