Var_dump() 显示字符串,echo()/print_r() Returns 无
Var_dump() Displays String, echo()/print_r() Returns Nothing
我正在使用简单 HTML DOM 解析器库来解析带有 DOCTYPE 标记的 URL。我能够到达所需的标签,但每当我回显或尝试存储结果时,它都没有显示任何内容。但是,var_dump() 向我显示了所需的字符串。
require_once("simpledom.php");
$url="http://google.com";
$sPage = file_get_contents($url);
$sPageContent = new simple_html_dom();
$sPageContent->load($sPage);
$sObjects = $sPageContent->find('unknown');
foreach($sObjects as $sKey)
{
var_dump($sKey->_[4]); /*this var_dump shows the stuff */
$showres = $sKey->_[4]
}
/* this variable should hold the string but it shows nothing */
echo $showres;
尝试将值转换为字符串
$showres = (string)$sKey->_[4];
此外,你的回声在你的循环之后
echo htmlentities($showres);
将回显 $showres
中的内容并将所有 HTML 标记替换为 HTML 实体,这样您就可以看到该字符串而不会让浏览器将其用作标记。
但不确定您要做什么。
当输出 <!doctype html>
时,浏览器将其作为元素读取,因此您需要对 <
和 >
符号进行编码。 PHP 已经为此构建了一个函数,http://php.net/manual/en/function.htmlspecialchars.php。
所以你的代码应该是:
echo htmlspecialchars($showres);
在你的源代码中会给你
<!doctype html>
我正在使用简单 HTML DOM 解析器库来解析带有 DOCTYPE 标记的 URL。我能够到达所需的标签,但每当我回显或尝试存储结果时,它都没有显示任何内容。但是,var_dump() 向我显示了所需的字符串。
require_once("simpledom.php");
$url="http://google.com";
$sPage = file_get_contents($url);
$sPageContent = new simple_html_dom();
$sPageContent->load($sPage);
$sObjects = $sPageContent->find('unknown');
foreach($sObjects as $sKey)
{
var_dump($sKey->_[4]); /*this var_dump shows the stuff */
$showres = $sKey->_[4]
}
/* this variable should hold the string but it shows nothing */
echo $showres;
尝试将值转换为字符串
$showres = (string)$sKey->_[4];
此外,你的回声在你的循环之后
echo htmlentities($showres);
将回显 $showres
中的内容并将所有 HTML 标记替换为 HTML 实体,这样您就可以看到该字符串而不会让浏览器将其用作标记。
但不确定您要做什么。
当输出 <!doctype html>
时,浏览器将其作为元素读取,因此您需要对 <
和 >
符号进行编码。 PHP 已经为此构建了一个函数,http://php.net/manual/en/function.htmlspecialchars.php。
所以你的代码应该是:
echo htmlspecialchars($showres);
在你的源代码中会给你
<!doctype html>