- 17
- 十二月
PHP用ob_start() 方法判断输出结果
今天遇到一个问题,PHP的一个方法返回的是一个打印信息,我在页面调用此方法就不能判断如果它打印空的情况(我想把方法打印空的情况用其他字符串代替)
因为这是一个通用的方法,也不是我写的,所以不能去更改方法本身。当然也不能用 if ( functionName() == NULL) 来判断,因为方法只是来输出一个字符串或者空值。
最后自己用了一个拙劣的方法,用ob_start() 来解决。下面是代码
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php ob_start(); previous_post_link('%link', '%title', false); $previous_link = ob_get_contents(); ob_end_clean(); ob_start(); next_post_link('%link', '%title', false); $next_link = ob_get_contents(); ob_end_clean(); <p>前一篇: <?= $previous_link == NULL ? "没有了" : $previous_link ?><br />后一篇: <?= $next_link == NULL ? "没有了" : $next_link ?></p> ?> |
如果有某位大虾更好的方法,请留言告诉我~谢谢!
原创文章如转载,请注明:转载自等待喝彩_OnEcho [ http://www.onecho.com ]
本文链接地址:http://www.onecho.com/2009-12-17/567.html
本文链接地址:http://www.onecho.com/2009-12-17/567.html

直接 $previous_link = previous_post_link(’%link’, ‘%title’, false); 不可以吗
[回复]
这位”test”兄,或许你可以测试一下。
此方法里面是直接打印信息,如果有 $previous_link = previous_post_link(’%link’, ‘%title’, false); 这条语句,那么它实际上在这个地方已经打印了。
[回复]