You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

esc_html__()函数输出含空格字符串被截断,仅显示首词问题咨询

问题原因与修复方案

嘿,这个问题我太熟悉了!咱们先拆解下你那段代码的问题所在——当PHP完成字符串拼接后,最终输出的input标签会变成这样:

<input class="widget-input" type="text" name="subject" placeholder=Your company name required>

一眼就能看出问题:placeholder属性的值没有被引号完整包裹!HTML解析器会把空格当作属性的分隔符,所以它只会把Your识别成placeholder的有效属性值,剩下的company和name会被当成毫无意义的独立属性,自然就只显示第一个单词啦。

修复方法很简单,给placeholder属性加上引号就行:

你可以直接在拼接时给placeholder加上双引号(因为外层PHP字符串用的是单引号,内部双引号不需要转义,更简洁):

$widgetInputCompanyName = '<div class="widget"><input class="widget-input" type="text" name="subject" placeholder="' . esc_html__( "Your company name", "fbstax" ) . '" required></div>';

如果偏好单引号风格,也可以给内部单引号转义:

$widgetInputCompanyName = '<div class="widget"><input class="widget-input" type="text" name="subject" placeholder=\'' . esc_html__( "Your company name", "fbstax" ) . '\' required></div>';

这样生成的HTML里,placeholder的值会被完整包裹成placeholder="Your company name",浏览器就能正确识别整个字符串作为提示文本了。

内容的提问来源于stack exchange,提问作者zakharov.arthur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:39:39