如何从另一个页面获取HTML元素

时间:2020-06-06 04:35:16

标签: javascript php

我正在建立一个网站,提供用户可以下载的Windows软件。我想在另一页上检索文本。

软件查看页面(例如domain.com/obs-studio /):

<ul class="software_facts">
    <li>
        <div class="dorat">
            <div class="labelimg">[thumbnail]</div> 
            <div class="wp-block-button is-style-squared">
                <form name="myform1" action="/download-page/" method="post"><input name="bode" type="hidden" value="https://github.com/obsproject/obs-studio/releases/download/25.0.8/OBS-Studio-25.0.8-Full-Installer-x64.exe"></form>
                <div class="wp-block-button__link has-background has-vivid-green-cyan-background-color" onclick="document.myform1.submit()">Download (24 MB)</div>
            </div>
        </div>
    </li>
    <li class="bg">
        <p class="labelnil">Nilai:</p>
        [kkratings]
    </li>
    <li>
        <p class="label">Version:</p>
        <p itemprop="softwareVersion">25.0.8</p>
    </li>
    <li class="bg">
        <p class="label">Publisher:</p>
        <p itemprop="publisher" itemscope="" itemtype="http://schema.org/Organization"><span itemprop="name">Jim</span></p>
    </li>
    <li>
        <p class="label">Sistem Operasi:</p>
        <p itemprop="operatingSystem">Windows</p>
    </li>
    <li class="bg">
        <p class="label">Kategori Aplikasi:</p>
        <p itemprop="applicationCategory">Multimedia</p>
    </li>
    <li>
        <p class="label">Licence:</p>
        <p>Freeware</p>
    </li>
</ul>

点击“下载(24MB)”按钮,会将用户定向到domain.com/download-page/页面。

下载页面(例如domain.com/download-page /):

<p>OBS Studio was developed by <strong>Jim</strong>, the latest version is <strong>25.0.8</strong>.</p>

我希望“ Jim ”和“ 25.0.8 ”部分根据用户要在上一页中下载的软件信息进行更改。

我使用Wordpress,如何使用Javascript或PHP执行此操作。任何人都可以帮助我,谢谢。

2 个答案:

答案 0 :(得分:0)

在“软件查看”页面中

使用具有隐藏类型的输入标签可以在发布方法中发送发布者和软件版本值。

<ul class="software_facts">
<li>
    <div class="dorat">
        <div class="labelimg">[thumbnail]</div> 
        <div class="wp-block-button is-style-squared">
            <form name="myform1" action="/download-page/" method="post"><input name="bode" type="hidden" value="https://github.com/obsproject/obs-studio/releases/download/25.0.8/OBS-Studio-25.0.8-Full-Installer-x64.exe">

                <input name="publisher" type="hidden" value="Jim">
                <input name="softwareVersion" type="hidden" value="25.0.8">

            </form>
            <div class="wp-block-button__link has-background has-vivid-green-cyan-background-color" onclick="document.myform1.submit()">Download (24 MB)</div>
        </div>
    </div>
</li>
<li class="bg">
    <p class="labelnil">Nilai:</p>
    [kkratings]
</li>
<li>
    <p class="label">Version:</p>
    <p itemprop="softwareVersion">25.0.8</p>
</li>
<li class="bg">
    <p class="label">Publisher:</p>
    <p itemprop="publisher" itemscope="" itemtype="http://schema.org/Organization"><span itemprop="name">Jim</span></p>
</li>
<li>
    <p class="label">Sistem Operasi:</p>
    <p itemprop="operatingSystem">Windows</p>
</li>
<li class="bg">
    <p class="label">Kategori Aplikasi:</p>
    <p itemprop="applicationCategory">Multimedia</p>
</li>
<li>
    <p class="label">Licence:</p>
    <p>Freeware</p>
</li>

在下载页面中

<p>OBS Studio was developed by <strong><?php echo $_POST['publisher']; ?></strong>, the latest version is <strong><?php echo $_POST['softwareVersion']; ?></strong>.</p>

请注意,我已经使用提供的键在名为$_POST的超全局变量中发送了值。使用echo语句从这些变量中打印值。

答案 1 :(得分:0)

您需要创建一个crone作业,以通过file_get_html您要从中获取数据的网页来更新软件信息表数据。使用file_get_html,输出将是一个字符串,因此使用它创建一个DOM并从DOM内容中提取所需的内容并保存到数据库表中

引用:reference to html dom paser