【发布时间】:2015-04-15 21:00:01
【问题描述】:
====================
注意:这不是重复的,因为我已经在 linked question 上尝试过解决方案,但它对我的问题不起作用
====================
如何“删除”任何以前 [浏览器] 回显的项目? - 彻底清屏(将屏幕设为空白)?
例如...:
<?php
function test($var) {
if ($var === 0) { echo "Hello "; }
if ($var === 1) { echo "World"; }
if ($var < 0 || $var > 1) { [clear screen]; echo "Number is too big";}
}
test(0);
test(1);
test(666);
========更多详情========
我遇到的问题是这样的。该页面呈现 HTML 的一部分,但是当它到达关键字时,它会停止并回显我需要的内容(如果页面没有关键字,则为预期行为)。
但是,由于它不会清除屏幕和 DOM……因此,浏览器的屏幕是空白的,没有任何错误消息。这是因为我需要删除任何以前回显的输出。
在发布此问题之前,我确实尝试过ob_end_clean()。但它不起作用:
PHP:
class keywords{
private static function run(){
...pdo code...
...some more code...
if( $sht->rowCount() === 0 ){
...[clear screen goes here]...
exit("Page " . $pageID . " has no keywords");
else...
...more code
}
...more code
}
在 HTML 方面,我使用的是...content="<?php keywords::run(); ?>" />。当页面没有关键字时,这是输出(不清除浏览器):
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="description" content="Some page" />
<meta name="keywords" content="Page: 0123456789 Page has no keywords
结果,屏幕是空白的,没有任何错误信息
【问题讨论】:
-
终端还是浏览器?
-
@Rizier123 浏览器,但如果你都知道...
-
删除旧的回显字符串,那么你就是你想要的,你需要的不是C/C++ clrscr()
-
我在你的编辑中看到的是 ob_end_clean() 没有工作,但你没有解释任何事情。正如您所描述的,问题在于您正在回显项目,并且如果代码符合特定标准,则希望清除它们。如果您按照链接问题中的描述使用 ob_start() ,它应该完全符合您的要求。该问题中的其他答案也提出了更大的问题,即您不应该重复不应该存在的东西。最好先保存内容,等条件满足后再回显。
标签: php