1

这是我的代码:-

<?php
$URL = "http://www.mylink.com/show_album/XXXXX";
/*The value of $URL will be passed from previous page via Form*/
?>

首先,变量的值必须是链接/URL。如果没有,echo "Not an URL";应该执行。但是,我无法检查它是否是链接。请任何人帮助我弄清楚这一点。作为一个新手,我非常需要帮助。

其次,http://是可选的。如果提供,没关系。否则,将自动添加“http://”。我为此使用了此代码,并且可以正常工作。

if(strpos($URL, "http://") !== false){
    echo $URL;
    echo "<br />http:// already provided";
    return $URL;
}
else {
    echo "http://" . $URL;
    $URL = "http://" . $URL;
    echo "<br />http:// automatically added";
    return $URL;
}

第三,文本“ mylink.com/show_album/ ”(不带引号)必须在 $URL 中可用。我为此使用了此代码:-

if (strpos($URL, "mylink.com/show_album/") !== false){
    echo "The "mylink.com/show_album/ is available";
}
else {
    echo "The "mylink.com/show_album/ is not available";
}

没关系。

接下来,在 $URL 中,该值是带有最后一个单词 XXXXXX 的链接名称。它必须是这个变量的最后一个字。XXXXX 是一个数字。它可以是任何数字,例如“12345”或任何其他数字。但是,我想从这个 $URL 中获取数字并显示它。我怎样才能做到这一点?

最后,链接只能包含 http:// 和 www.mylink.com/show_album/XXXXX 。否则,echo "Not a valid link";将被执行。这该怎么做?

4

1 回答 1

0

对于验证 URL:

  $text = preg_replace("
  #((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie",
  "'<a href=\"$1\" target=\"_blank\">$3</a>$4'",
  $text
);

要在 URL 前面验证/附加 http://,请执行以下操作:

$protocol = substr($URL, 0, 7);
if($protocol!="http://")
{
     $URL="http://".$URL;
}

编辑 现在获取最后一个数字:

$XXXXX=substr( $URL, strrpos( $url, '/' )+1 );
于 2013-03-02T06:42:01.947 回答