Is there any way to return HTML in a PHP function? (without building the return value as a string)

后端 未结 8 1722
误落风尘
误落风尘 2020-12-12 11:55

I have a PHP function that I\'m using to output a standard block of HTML. It currently looks like this:


          


        
相关标签:
8条回答
  • 2020-12-12 12:27

    This may be a sketchy solution, and I'd appreciate anybody pointing out whether this is a bad idea, since it's not a standard use of functions. I've had some success getting HTML out of a PHP function without building the return value as a string with the following:

    function noStrings() {
        echo ''?>
            <div>[Whatever HTML you want]</div>
        <?php;
    }
    

    The just 'call' the function:

    noStrings();
    

    And it will output:

    <div>[Whatever HTML you want]</div>
    

    Using this method, you can also define PHP variables within the function and echo them out inside the HTML.

    0 讨论(0)
  • 2020-12-12 12:31

    Yes, there is: you can capture the echoed text using ob_start:

    <?php function TestBlockHTML($replStr) {
        ob_start(); ?>
        <html>
        <body><h1><?php echo($replStr) ?></h1>
        </html>
    <?php
        return ob_get_clean();
    } ?>
    
    0 讨论(0)
提交回复
热议问题