使用 PHP 删除字符串的一部分

发布于 2025-01-08 22:30:07 字数 313 浏览 0 评论 0原文

我有一个输入框,告诉用户输入来自 imgur.com 的链接 我想要一个脚本来检查链接是否适用于指定站点,但我不知道该怎么做?

链接如下:https://i.sstatic.net/RYnCi.jpg 请注意,在 / 之后,文本可能会有所不同,例如不是 jpg,但主域始终是 http://i。 imgur.com/

任何帮助表示赞赏。 谢谢,乔什。(新手)

I have an input box that tells uers to enter a link from imgur.com
I want a script to check the link is for the specified site but I'm not sue how to do it?

The links are as follows: https://i.sstatic.net/RYnCi.jpg
Please note that after the /, the text may vary e.g. not be a jpg but the main domain is always http://i.imgur.com/.

Any help appreciated.
Thanks, Josh.(Novice)

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

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

发布评论

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

评论(6

迟到的我 2025-01-15 22:30:07

尝试 parse_url()

try {
    if (!preg_match('/^(https?|ftp)://', $_POST['url']) AND !substr_count($_POST['url'], '://')) {
        // Handle URLs that do not have a scheme
        $url = sprintf("%s://%s", 'http', $_POST['url']);
    } else {
        $url = $_POST['url'];
    }

    $input = parse_url($url);

    if (!$input OR !isset($input['host'])) {
        // Either the parsing has failed, or the URL was not absolute
        throw new Exception("Invalid URL");
    } elseif ($input['host'] != 'i.imgur.com') {
        // The host does not match
        throw new Exception("Invalid domain");
    }

    // Prepend URL with scheme, e.g. http://domain.tld
    $host = sprintf("%s://%s", $input['scheme'], $input['host']);
} catch (Exception $e) {
    // Handle error
}

Try parse_url()

try {
    if (!preg_match('/^(https?|ftp)://', $_POST['url']) AND !substr_count($_POST['url'], '://')) {
        // Handle URLs that do not have a scheme
        $url = sprintf("%s://%s", 'http', $_POST['url']);
    } else {
        $url = $_POST['url'];
    }

    $input = parse_url($url);

    if (!$input OR !isset($input['host'])) {
        // Either the parsing has failed, or the URL was not absolute
        throw new Exception("Invalid URL");
    } elseif ($input['host'] != 'i.imgur.com') {
        // The host does not match
        throw new Exception("Invalid domain");
    }

    // Prepend URL with scheme, e.g. http://domain.tld
    $host = sprintf("%s://%s", $input['scheme'], $input['host']);
} catch (Exception $e) {
    // Handle error
}
卖梦商人 2025-01-15 22:30:07
substr($input, 0, strlen('http://i.imgur.com/')) === 'http://i.imgur.com/'
substr($input, 0, strlen('http://i.imgur.com/')) === 'http://i.imgur.com/'
如果没结果 2025-01-15 22:30:07

使用 stripos 检查这一点

if(stripos(trim($url), "http://i.imgur.com")===0){
 // the link is from imgur.com
}

Check this, using stripos

if(stripos(trim($url), "http://i.imgur.com")===0){
 // the link is from imgur.com
}
一梦等七年七年为一梦 2025-01-15 22:30:07

试试这个:

<?php
if(preg_match('#^http\:\/\/i\.imgur.com\/#', $_POST['url']))
    echo 'Valid img!';
else
    echo 'Img not valid...';
?>

其中 $_POST['url'] 是用户输入。

我还没有测试过这段代码。

Try this:

<?php
if(preg_match('#^http\:\/\/i\.imgur.com\/#', $_POST['url']))
    echo 'Valid img!';
else
    echo 'Img not valid...';
?>

Where $_POST['url'] is the user input.

I haven't tested this code.

厌倦 2025-01-15 22:30:07
$url_input = $_POST['input_box_name'];
if ( strpos($url_input, 'http://i.imgur.com/') !== 0 )

...

$url_input = $_POST['input_box_name'];
if ( strpos($url_input, 'http://i.imgur.com/') !== 0 )

...

若水微香 2025-01-15 22:30:07

有几种方法可以做到这一点..这是一种:

if ('http://i.imgur.com/' == substr($link, 0, 19)) {
    ...
}

Several ways of doing it.. Here's one:

if ('http://i.imgur.com/' == substr($link, 0, 19)) {
    ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文