长话短说......
这是我要设置属性的html标记:
echo "<input type='text' name='name' value='".$phpvar."'>";
$ phpvar可以包含任何文本和符号(包括引号和双引号)
如何正确转义/转换字符串以使其正确显示?
谢谢大家!
修改 谢谢大家帮助我! 好吧,如果其他人对此感到困惑,这解决了我的问题:
答案 0 :(得分:0)
要将值发送到您的php文件,您需要对&
,"
,'
等字符以及浏览器无法识别的更多符号进行编码。
为此,您可以使用urlencode()
将这些符号转换为可以呈现的html符号实体。
以下是它的外观,
echo "<input type='text' name='name' value='".urlencode($phpvar)."'>";
以下是有关stackoverflow的一些有用的问题,可以帮助您解决问题。
AJAX + PHP self-generated fields producing blank results
祝你好运![/ p>
答案 1 :(得分:0)
您可以使用strip_tags()
或urlencode()
或htmlspecialchars()
或更改你的echo语句,如果$ phpvar的值只包含单引号,那么使用双引号是一种更好的做法
echo '<input type="text" name="name" value="$phpvar">';
答案 2 :(得分:0)
我不确定您要从变量中删除哪些特殊字符。正如您提到的引号,以下代码将从字符串中删除单引号和双引号。
<?php
$quotes = array('"', "'");
echo str_replace($quotes, "", "Hello Wor'l'd of PHP");
答案 3 :(得分:0)
htmlentities就是出于这种情况。
$phpvar= '"&#test"';
echo '<input type="text" name="name" value="'.htmlentities($phpvar).'">';
将输出
<input type='text' name='name' value='"&#test"'>
文本字段将显示"&#test"
。