是否有可能在PHP中使第二个div出现在第一个div而不是获得两个分开的div? 我想制作一个php dom系统,但我遇到了这个问题。
这是我在页面返回时获得的HTML:
<div style="width:
50px;
height:
30px;
background-color:
yellow;
color:white
">
blablabla
</div>
<div style="width:
200px;
height:
50px;
background-color:
blue;
color:white
">
</div>
这是PHP代码:
<? php
function genDiv($width, $height, $bgColor, $add, $content) {
echo '
<div style=\'width:
'.$width.';
height:
'.$height.';
background-color:
'.$bgColor.';
'.$add.'
\'>
'.$content.'
</div>
';
}
$block = genDiv(
'50px',
'30px',
'yellow',
'color:white',
'blablabla'
);
genDiv(
'200px',
'50px',
'blue',
'color:white',
$block
);
?>
答案 0 :(得分:1)
您需要重写该函数,以便返回 HTML而不是直接回显它。
然后你可以回应第二次调用函数的结果。
答案 1 :(得分:0)
您的函数中没有return
,您echo
st。直接
function genDiv($width, $height, $bgColor, $add, $content) {
return '
<div style=\'width:
'.$width.';
height:
'.$height.';
background-color:
'.$bgColor.';
'.$add.'
\'>
'.$content.'
</div>
';
}
$block = genDiv(
'50px',
'30px',
'yellow',
'color:white',
'blablabla'
);
echo genDiv(
'200px',
'50px',
'blue',
'color:white',
$block
);
答案 2 :(得分:0)
您也可以使用双引号而不是单引号。
我使用此代码获得了所需的输出。
<?php
function genDiv($width,$height,$bgcolor,$add,$content)
{
return "<div style='width $width; height:$height;
background-color: $bgcolor; $add'>
$content
</div>";
}
$block = genDiv('50px','30px','orange','color:white','blablabla');
$content = genDiv('200px','50px','blue','color:white;padding-top:20px', $block);
echo $content; //required output. second div in first div
?>
我更改了黄色并添加了填充以获得清晰的可见性。