嘿伙计们,我正在尝试使用htmlentities()将textarea中的字符转换为html代码。我现在的代码看起来像这样:
var_dump($colors);
$colors= htmlentities($colors, ENT_QUOTES, 'UTF-8', false);
var_dump($colors);
返回:
string(31) "• Red
• Green
• Blue<br />"
string(46) "• Red
• Green
• Blue<br />"
我假设将false
传递给double_encode参数会阻止<br />
转换为<br />
。
有什么想法吗?
答案 0 :(得分:2)
您希望"\n"
内有<br />
而不是textarea
。
要从您的数据中自动执行此操作,您可以执行...
$colors = preg_replace('/<br\s?\/?>/', "\n", $colors);
双重编码只意味着&amp;
之类的事情不会发生。
答案 1 :(得分:1)
double_encode
参数可防止编码现有的html实体(例如•
)。 <br />
不是一个html实体,因此会被编码。