div函数在另一个div函数内

时间:2015-02-08 11:25:10

标签: php html function block

是否有可能在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
);

?>

3 个答案:

答案 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
?>

我更改了黄色并添加了填充以获得清晰的可见性。