PHP Explode 和 Get_Url:不显示 URL

发布于 2024-08-27 09:30:42 字数 548 浏览 6 评论 0 原文

有点难以理解。

在 header.php 中我有这样的代码:

<?
$ID = $link;
$url = downloadLink($ID);
?>

我使用这个变量 $link --> 获取 ID 12345678 并使用 $url 我从functions.php中的functions.php获得完整链接

,我有这个片段

function downloadlink ($d_id)
  {
    $res = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    $re = explode ('<iframe', $res);
    $re = explode ('src="', $re[1]);
    $re = explode ('"', $re[1]);
    $url = $re[0];
    return $url;
  } 

,通常它会打印出url..但是,我无法理解代码..

its a little bit hard to understand.

in the header.php i have this code:

<?
$ID = $link;
$url = downloadLink($ID);
?>

I get the ID with this Variable $link --> 12345678
and with $url i get the full link from the functions.php

in the functions.php i have this snippet

function downloadlink ($d_id)
  {
    $res = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    $re = explode ('<iframe', $res);
    $re = explode ('src="', $re[1]);
    $re = explode ('"', $re[1]);
    $url = $re[0];
    return $url;
  } 

and normally it prints the url out.. but, i cant understand the code..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

顾忌 2024-09-03 09:30:42

它的编写方式有点奇怪,但基本上 downloadLink() 的作用是:

  1. http://www.example.com//go 下载 HTML。 html
  2. 获取 HTML,并在字符串 出现的每个点处将其分割。
  3. 现在,获取 HTML 中 first 之后的所有内容,并在字符串 src=" 出现的每个点处将其拆分。
  4. 现在,获取第一个 src=" 之后的所有内容,并在 " 出现的每个点处将其拆分,
  5. 返回第一个 " 之前 的内容 。

因此,这是一种非常糟糕的方法,但实际上它会在 HTML 代码中查找第一次出现的情况:

<iframe src="<something>"

并返回

编辑:按照评论中的要求采用不同的方法

实际上没有任何特定的“正确”方法可以做到这一点,但一个相当简单的方法是将其更改为:

function downloadlink ($d_id)
{
    $html = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    preg_match('/\<iframe src="(.+?)"/', $html, $matches);
    return $matches[1];
}

It's written in kind of a strange way, but basically what downloadLink() does is this:

  1. Download the HTML from http://www.example.com/<ID>/go.html
  2. Take the HTML, and split it at every point where the string <iframe occurs.
  3. Now take everything that came after the first <iframe in the HTML, and split it at every point where the string src=" appears.
  4. Now take everything after the first src=" and split it at every point where " appears.
  5. Return whatever was before the first ".

So it's a pretty poor way of doing it, but effectively it looks for the first occurence of this in the HTML code:

<iframe src="<something>"

And returns the <something>.

Edit: a different method, as requested in comment:

There's not really any particular "right" way to do it, but a fairly straightforward way would be to change it to this:

function downloadlink ($d_id)
{
    $html = @get_url ('' . 'http://www.example.com/' . $d_id . '/go.html');
    preg_match('/\<iframe src="(.+?)"/', $html, $matches);
    return $matches[1];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文