1

我在下面的这段代码中遇到了问题。每当我从浏览器运行此文件时,它会在浏览器上显示相同的代码load_file($target_url); foreach($html->find(‘a’) as $link){ echo $link->href." "; } ?>,而不是所需的结果。我正在使用 xampp 开发一个网站。PHP 也已正确配置。

<?php
 include_once('/simple.php');

 $target_url = "http://www.example.com/";
 $html = new simple_html_dom();
 $html->load_file($target_url);
 foreach($html->find(‘a’) as $link){
 echo $link->href."<br />";
 }
 ?>
4

3 回答 3

0

PHP 或您的服务器没有正确配置,因为它没有执行代码,而是简单地将其输出到浏览器。

您只看到后面的load_file()代码的原因是浏览器将该>行上的 解释为结束 HTML 标记。如果您在浏览器中查看-> 源代码,您将看到完整的代码。

于 2012-11-30T09:44:44.970 回答
0

由于某种原因,PHP 解析器似乎将 $html->load_file( 中的 -> 解释为好像它应该关闭 PHP 解析,从而将其余代码显示为 HTML。

它解释 -> 好像它是一个?>

服务器可能配置错误,或者某些奇怪的选项生效。

其他 PHP 文件如果不包含 -> 可能会正常工作,因此如果不使用对象

如果您的服务器上允许它们,您可以尝试替代语法:

<script language="php">  
echo "This is HTML script tags.";  
</script> 

或者 ASP 风格的语法

<%   
echo 'This is ASP like style';  
%>

虽然丑陋它可能会解决你的问题

于 2012-11-30T09:47:15.280 回答
0

卷曲引号!卷曲引号!

他们显示该文件已被错误的程序(Word???)“处理”,因此还有另一个字符通常会被那些讨厌的软件修改,它是DASH (-)!您在 $html->load 中的破折号可能不是真正的破折号“-”,而是一些看起来相似的字符,例如长破折号“-”。看看区别:

----------
real dashes -

––––––––––
alternate dash –

出于某种原因,某些解析器(ftp?webserver?php?)被这个意外的字符弄糊涂了,并输出一个 ? 反而!

还有这个 ?在 > 附近给出一个 ?> 关闭 PHP !!!

使用适当的编辑器重写您的文件,只需删除破折号并再次写入它们即可。

于 2012-11-30T12:06:06.613 回答