如何将此代码保存到变量中?

时间:2011-09-24 17:00:50

标签: php

有没有办法将这段代码保存到PHP变量中?这样做的原因是因为我想通过mail()

发送它
echo 'MONDAY<BR>';
query_posts('meta_key=Date1&meta_value=MONDAY');  
while (have_posts()):
    the_post(); 
    if (in_category( '11' )) {
        echo get_post_meta($post->ID, 'HomeSlogan', true);
    } else {
        the_title();
    }
    echo'<br>';
endwhile;

这是zneak建议的

<?php

ob_start();
echo 'MONDAY<br>';
query_posts('meta_key=Date1&meta_value=MONDAY');  
while (have_posts()):
    the_post(); 
    if (in_category( '11' )) {
        echo get_post_meta($post->ID, 'HomeSlogan', true);
    } else {
        the_title();
    }
    echo'<br>';
endwhile;

$mail = ob_get_contents();
echo $mail;
ob_end_clean();

?>

1 个答案:

答案 0 :(得分:1)

您可以使用字符串连接并完全避免使用echo,也可以使用输出缓冲。输出缓冲将脚本的输出保存到缓冲区而不是将其发送到浏览器,因此如果您具有打印文本并且无法真正控制的功能,则更容易使用。

// concatenation
$mail = 'MONDAY<br>';
$mail .= 'more text';
$mail .= 'yet more text';

// output buffering
ob_start();
echo 'MONDAY<br>';
echo 'more text';
echo 'yet more text';

$mail = ob_get_contents();
ob_end_clean();

对于输出缓冲,您可能需要阅读ob_startob_get_contentsob_end_clean