Php 在HTML中,{VARIABLE}是什么意思,以及如何初始化它?
我最近在读别人的代码。在他的代码中,我看到一个奇怪的html文本,写得像Php 在HTML中,{VARIABLE}是什么意思,以及如何初始化它?,php,html,Php,Html,我最近在读别人的代码。在他的代码中,我看到一个奇怪的html文本,写得像{VARIABLE}。这个语法是什么意思?如何创建它?感谢PHP中的,这里有一个叫做(在页面的更深处查找)的东西,您可以使用{}将变量的值注入字符串,而不是剪切和连接字符串 可以找到类似的答案 另一种情况是,当HTML用作模板时,它可能包含该文本。您不需要初始化它。这是他们模板引擎的一部分 不管他们是如何做的,我们的想法是用您想要的实际数据查找/替换“{VAR}” var songTemplate = "<li cl
{VARIABLE}
。这个语法是什么意思?如何创建它?感谢PHP中的,这里有一个叫做(在页面的更深处查找)的东西,您可以使用{}
将变量的值注入字符串,而不是剪切和连接字符串
可以找到类似的答案
另一种情况是,当HTML用作模板时,它可能包含该文本。您不需要初始化它。这是他们模板引擎的一部分 不管他们是如何做的,我们的想法是用您想要的实际数据查找/替换“{VAR}”
var songTemplate = "<li class=\"track\"><span class=\"num\">{{TRACKNUM}}.</span>" +
"<span class=\"title\">{{TITLE}}</span>" +
"<span class=\"duration\">{{DURATION}}</span></li>";
var songs = [ { tracknum : 1, title : "Speak to Me/Breathe", duration : "4:13" },
{ tracknum : 2, title : "On the Run", duration : "3:36" },
{ tracknum : 3, title : "Time", duration : "7:01" } ];
function makeTrack (song, template) {
var track = "";
track = template.replace("{{TRACKNUM}}", song.tracknum);
track = template.replace("{{TITLE}}"), song.title);
track = template.replace("{{DURATION}}", song.duration);
return track;
}
function trackList (songs, template) {
var list = "<ul class=\"tracklist\">";
songs.forEach(function (song) {
list += makeTrack(song, template);
});
list += "</ul>";
return list;
}
var songlist = trackList(songs, songTemplate);
parentEl.innerHTML = songlist;
var songTemplate=“{{TRACKNUM}}。”+
“{{TITLE}}”+
“{{DURATION}} ”;
var songs=[{tracknum:1,标题:“对我说话/呼吸”,持续时间:“4:13”},
{tracknum:2,标题:“奔跑”,持续时间:“3:36”},
{tracknum:3,标题:“时间”,持续时间:“7:01}];
函数makeTrack(歌曲、模板){
var track=“”;
track=template.replace(“{TRACKNUM}}”,song.TRACKNUM);
track=template.replace(“{{TITLE}”)、song.TITLE);
track=template.replace(“{DURATION}”,song.DURATION);
返回轨道;
}
功能曲目列表(歌曲、模板){
var list=“”;
songs.forEach(函数(歌曲){
列表+=制作曲目(歌曲、模板);
});
列表+=“
”;
退货清单;
}
var songlist=曲目列表(歌曲、歌曲模板);
parentEl.innerHTML=歌曲列表;
基本思想是,不管使用哪种语言对其进行模板化,都是从一个HTML字符串开始,取出您知道要替换的内容,然后放入所需的数据
var songTemplate = "<li class=\"track\"><span class=\"num\">{{TRACKNUM}}.</span>" +
"<span class=\"title\">{{TITLE}}</span>" +
"<span class=\"duration\">{{DURATION}}</span></li>";
var songs = [ { tracknum : 1, title : "Speak to Me/Breathe", duration : "4:13" },
{ tracknum : 2, title : "On the Run", duration : "3:36" },
{ tracknum : 3, title : "Time", duration : "7:01" } ];
function makeTrack (song, template) {
var track = "";
track = template.replace("{{TRACKNUM}}", song.tracknum);
track = template.replace("{{TITLE}}"), song.title);
track = template.replace("{{DURATION}}", song.duration);
return track;
}
function trackList (songs, template) {
var list = "<ul class=\"tracklist\">";
songs.forEach(function (song) {
list += makeTrack(song, template);
});
list += "</ul>";
return list;
}
var songlist = trackList(songs, songTemplate);
parentEl.innerHTML = songlist;
我已经向您展示了一个丑陋、丑陋的模板(如果我只需要编写一个变量名数组,它就可以完成其余的工作……或者如果它通过字符串查找{X}
,然后通过对象查找正确的值来替换它所找到的值,那就更好了)。
如果您不同时控制模板和数据(如果您允许最终用户在站点的任何位置输入,那么您就没有控制权),这也存在安全漏洞
但这应该足以说明模板是如何做的,以及为什么做的。也许正在使用模板引擎?模板,猜猜我为什么会被否决?@rahmat提供的代码片段可能阻止了我猜的一些否决票……非常正确(因此链接为a+1)。但是,它仍然必须是
{$variable}
或派生,并且只适用于字符串(而不是“非PHP”部分)。@pst忽略了这个细节。这使得这个案例更像是一个引擎的模板。