PHP 通过 id 从跨度中获取文本/值并将其放入具有 cURL 的外部站点的变量中

Posted

技术标签:

【中文标题】PHP 通过 id 从跨度中获取文本/值并将其放入具有 cURL 的外部站点的变量中【英文标题】:PHP Getting text/value from a span by id and put it in a variable from an external site with cURL 【发布时间】:2014-01-08 16:49:54 【问题描述】:

我的问题是,我如何通过 id 获取值/文本,即使用 cURL 在来自外部网站的跨度之间。之后,将其放入变量中。

我有以下跨度:

<span id="company" class="company">Example</span>

我尝试使用:

$company = $_POST['company'];
echo($company);

但这没有用。

输出应该是:

Example

【问题讨论】:

【参考方案1】:

要使用$_POST 数据,您实际上必须发布内容,通常以表单形式发布。做你想做的事情的唯一方法是从 html 文件本身获取和提取数据。 (此时file_get_contentscurl 可能会派上用场)

最后,您必须从获得的内容中解析和提取数据。有几种方法可以做到这一点,包括使用regular expression 或直接使用Document Object Model (DOM)。 (我更喜欢后一种方法。)

【讨论】:

嗨,路易斯,感谢您的回复。是的,我正在使用 curl。我想从外部网站上的跨度中获取文本/值。 所以curl页面的内容,并通过使用DOM解析出数据。【参考方案2】:

由于您使用的是POST 数据,我假设您已经在页面上提交了表单。

您的部分页面可能如下所示:

<span id="company" class="company"><?php echo $company; ?></span>

只需将其添加到您的表单中:

<form ...>
    <input type="hidden" name="company" value="<?php echo $company; ?>" />

    ...
</form>

现在,当您提交表单时,$_POST['company'] 将被填充。

【讨论】:

您好,卡森,感谢您的回复。我正在使用 curl,抱歉没有提及它。跨度来自外部网站。 哎呀,没看到。在这种情况下,请按照 Louis 的回答 - 接受他的建议并使用 DOM 解析器,不要使用正则表达式(参见:***.com/a/1732454/84478)

以上是关于PHP 通过 id 从跨度中获取文本/值并将其放入具有 cURL 的外部站点的变量中的主要内容,如果未能解决你的问题,请参考以下文章

如何从文本字段中获取值并将其传递给变量?

如何从内联样式属性中获取值并将其放入最接近的输入值中? jQuery

从mysql表中获取行到php数组并将其传递给ajax

PHP、XML 获取记录节点和值并将它们放入 JSON 数组? [复制]

如何通过 Selenium 和 Python 从 html 标签跨度获取文本

如何从 Javascript 提示框中获取值并将其传递给 PHP 变量以便能够保存在 SQL 中?