【问题标题】:How can I find everything until something else in PHP and return that as a string?我如何才能找到所有内容,直到 PHP 中的其他内容并将其作为字符串返回?
【发布时间】:2023-03-12 11:20:01
【问题描述】:

我想从我的网址返回这些唯一值

394_black
500_mono2

网址:

/shop/swarovski/394_black_the-reagan-swarovski-maxi-dress
/shop/celeb/500_mono2_the-reagan-swarovski-maxi-dress

我可以在 PHP 中做到这一点吗?

伪代码

$url    =       get url
$firstvar = after 3rd / and after second _ save text (500_mono2) from $url

$secondvar = using $firstvar return only first 3 numbers
//substr($firstvar, 0, 3);  (I think this will be it)

更新了我上面的问题,更容易理解

【问题讨论】:

  • 严格来说,那些不是 url... 它们只是路径。如果您从完整的 http://... url 开始,请使用 parse_str 将其分解为多个部分,然后使用标准路径操作(基本名称等)来拆分路径。跨度>
  • 由于您使用的是 URL 重写,我不明白您为什么需要在 PHP 中这样做。这是由您放入.htaccess 文件的重写规则自动完成的。
  • 我已经在 NGINX 中完成了规则——它不使用 .htaccess——在我的 PHP 页面上我想获取这些值以供我的页面呈现。 @乔斯林
  • 你能告诉我们重写规则吗?
  • @Jocelyn 为什么你需要看他们?

标签: php url-rewriting preg-replace seo


【解决方案1】:
<?php

    $url = '/shop/celeb/500_mono2_the-reagan-swarovski-maxi-dress';
    $urlparts = explode('/', $url);

    list($var1, $var2, $var3) = explode('_', end($urlparts));

    echo $var1 . '<br>' . $var2 . '<br>' . $var3;

?>

【讨论】:

  • 我喜欢这样的答案。没有问题,没有解释 - nada。只是解决方案。 +1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 2013-06-23
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多