我正在为论坛编写聊天脚本,它似乎使用 php 来获取用户的头像。 (PS idk 任何关于天气或不 javascript 可以使用 sql 数据库或如何使用它,所以我想坚持使用 php)但问题是,如果我将 php 变量放入其中,javascript 不喜欢它。
getUserNodeString: function(userID, userName, userRole) {
var encodedUserName, str;
if(this.userNodeString && userID === this.userID) {
return this.userNodeString;
} else {
encodedUserName = this.scriptLinkEncode(userName);
str = '<div id="'
+ this.getUserDocumentID(userID)
+ '"><a href="javascript:ajaxChat.toggleUserMenu(\''
+ this.getUserMenuDocumentID(userID)
+ '\', \''
+ encodedUserName
+ '\', '
+ userID
+ ');" class="'
+ this.getRoleClass(userRole)
+ '" title="'
+ this.lang['toggleUserMenu'].replace(/%s/, userName)
+ '">'
+ userName
+ '</a><?php echo \'<img src="test.php" />\' ?>'
+ '<ul class="userMenu" id="'
+ this.getUserMenuDocumentID(userID)
+ '"'
+ ((userID === this.userID) ?
'>'+this.getUserNodeStringItems(encodedUserName, userID, false) :
' style="display:none;">')
+ '</ul>'
+'</div>';
if(userID === this.userID) {
this.userNodeString = str;
}
return str;
}
},
-
'</a><?php echo \'<img src="test.png" />\' ?>'
是我尝试使用的行,我还没有放置我的变量,我首先尝试使用测试图像
最佳答案
应该是这样的:
+ '</a><img src="<?php echo htmlentities($src, ENT_DISALLOWED | ENT_QUOTES | ENT_HTML5) ?>" />'
您应该只转义回 PHP 来获取需要包含 PHP 变量的代码的特定部分。其余部分应该是文字 HTML 或 Javascript。
您还应该使用 htmlspecialchars()
来确保变量内容经过正确编码,以便在 HTML 属性中使用,以防它包含特殊字符。
上面的内容是将 PHP 变量获取到包含 HTML 代码的 JS 文本中。如果您只是想将 PHP 值放入 Javascript 变量中,则略有不同。然后你可以使用 json_encode() 生成 JS 表示:
var js_var = <?php echo json_encode($php_var) ?>;
关于javascript - 如何将 php 元素转换为 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28255571/