PHP 从字符串中获取 url 等等

发布于 2024-09-04 10:45:02 字数 842 浏览 7 评论 0原文

我有一个像这样的字符串主题曲 - http://www.anydomain.com/pop_new.php?sid=10623&aid=1581&rand=0.6808111508818073 #string

现在,我需要做以下事情。

  1. 从上面的字符串中获取 url http://www.anydomain.com/pop_new.php?sid=10623&aid=1581&rand=0.6808111508818073
  2. 将 url 替换为 {%url%} 所以它应该看起来像主题曲 - {%url%} #string

目前我正在使用以下代码,但它无法替换上面的网址。

$urlregex_ = "(https?)\:\/\/[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?";
preg_match('~'.$urlregex_.'~',preg_replace('/\+/',' ',$url),$url_only);
$url_ = preg_replace('/ /','+',$url_only[0]);
$text = preg_replace('~'.$url_.'~','{%url%} ',$url);
return array('url' => $url_only[0], 'text' => $text);`

希望你能帮忙,谢谢,pnm123

I have a string like this The theme song of whatever - http://www.anydomain.com/pop_new.php?sid=10623&aid=1581&rand=0.6808111508818073 #string

And now, I need to do the following thing.

  1. Get the url from above string http://www.anydomain.com/pop_new.php?sid=10623&aid=1581&rand=0.6808111508818073
  2. Replace the url to {%url%} so It should look like The theme song of whatever - {%url%} #string

Currently I am using the following code but it fails to replace the above url.

$urlregex_ = "(https?)\:\/\/[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?";
preg_match('~'.$urlregex_.'~',preg_replace('/\+/',' ',$url),$url_only);
$url_ = preg_replace('/ /','+',$url_only[0]);
$text = preg_replace('~'.$url_.'~','{%url%} ',$url);
return array('url' => $url_only[0], 'text' => $text);`

Hope you can help, thanks, pnm123

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

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

发布评论

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

评论(1

傲娇萝莉攻 2024-09-11 10:45:02
<?php
    $orig = "The theme song of whatever - http://www.anydomain.com/pop_new.php" .
        "?sid=10623&aid=1581&rand=0.6808111508818073 #string";
    $urlregex = '~(?:https?)://[a-z0-9+$_-]+(?:\\.[a-z0-9+$_-]+)*' .
        '(?:/(?:[a-z0-9+$_-]\\.?)+)*/?(?:\\?[a-z+&$_.-][a-z0-9;:@/&%=+$_.-]*)?'.
        '(?:#[a-z_.-][a-z0-9+$_.-]*)?~i';
    if (preg_match($urlregex, $orig, $matches)) {
        $after = preg_replace($urlregex, "{%url%}", $orig);
        var_dump(array('url' => $matches[0], 'text' => $after));
    } else { //no array found
        die("oops");
    }
<?php
    $orig = "The theme song of whatever - http://www.anydomain.com/pop_new.php" .
        "?sid=10623&aid=1581&rand=0.6808111508818073 #string";
    $urlregex = '~(?:https?)://[a-z0-9+$_-]+(?:\\.[a-z0-9+$_-]+)*' .
        '(?:/(?:[a-z0-9+$_-]\\.?)+)*/?(?:\\?[a-z+&$_.-][a-z0-9;:@/&%=+$_.-]*)?'.
        '(?:#[a-z_.-][a-z0-9+$_.-]*)?~i';
    if (preg_match($urlregex, $orig, $matches)) {
        $after = preg_replace($urlregex, "{%url%}", $orig);
        var_dump(array('url' => $matches[0], 'text' => $after));
    } else { //no array found
        die("oops");
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文