当我创建像这样的自定义函数时,我无法弄清楚为什么:
function surround($html, $tag) {
return '<{$tag}>' . $html;
}
$some_html = '<div>Hello, World</div>';
echo surround($some_html, 'p');
它将返回:
<p><div>Hello, World</div></p>
我认为应该是这个函数的输出:
function surround($html, $tag) {
return '<{$tag}>' . $html . '<{$tag}>';
}
但是这会在字符串周围返回两组标签,如下所示:
<p></p><div>Hello, World</div><p></p>
答案 0 :(得分:1)
这种情况正在发生,因为您忘记关闭标记,因此当您的浏览器呈现html时,他会为您关闭它们
只需添加一个斜杠,看看会发生什么
function surround($html, $tag) {
return '<{$tag}>' . $html . '< / {$tag}>';
}