【问题标题】:How to display an html markup of a specific URL via cURL [php] [duplicate]如何通过 cURL [php] [重复] 显示特定 URL 的 html 标记
【发布时间】:2014-02-11 07:19:58
【问题描述】:

我正在尝试使用 cURL 获取特定 URL 的内容

$ch= curl_init();
curl_setopt($ch, CURLOPT_URL, 
   "http://stackoverflow.com//");
$output= curl_exec($ch);
curl_close($ch);

现在我想将标记显示为文本,我正在编写以下代码 sn-p:

<div class="content">
    <pre>
       <?php
            echo $output;
        ?>
    </pre>
</div> 

但是当我尝试显示标记时,没有div, pre 和其他我的标记元素。我只能看到stackoveflow.com。如何解决这个问题?

【问题讨论】:

  • @Quentin 执行 curl 请求后没有执行 echo $output。为什么?

标签: php html curl


【解决方案1】:

您需要用htmlentities() 函数包围您的$output 以在您的页面上呈现标记输出。

或者,您可以使用htmlspecialchars(),因为前者很重。

原来是这样的

<div class="content">
    <pre>
       <?php
            echo htmlentities($output);
        ?>
    </pre>
</div> 

EDIT :

它不起作用。此页面与以前一样呈现。

那是因为你需要将RETURNTRANSFERcURL参数设置为1。

代码...

<?php
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL,"http://stackoverflow.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$output= curl_exec($ch);
curl_close($ch);
?>
<div class="content">
    <pre>
       <?php
       echo htmlentities($output);
       ?>
    </pre>
</div> 

【讨论】:

  • 它不起作用。此页面与以前一样呈现。
  • 检查编辑后的答案。
  • 它有效。非常感谢!
猜你喜欢
  • 2012-10-12
  • 2018-10-07
  • 2017-02-25
  • 2013-10-30
  • 2017-08-26
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 2014-03-01
相关资源
最近更新 更多