-1

我想在php中回显正斜杠如下

<a class="submenu" href="<?php echo base_url('products').'/'.rawurlencode('Agarbatte/Candle');?>"

Agarbatte/Candle不是目录,但是当我这样做时,href将其作为目录并给我找不到错误页面。

任何帮助将不胜感激。

4

4 回答 4

3

URL 中的斜杠将始终被视为目录分隔符。如果你用其他东西替换它,你就不会再有斜线了。但这很可能是最简单的解决方案..

如果 URL 中的路径和文件系统之间存在 1:1 映射,那么你就不走运了。但是,如果您的应用程序使用“路由层”,则可以将其修改/为在满足某些标准时不将其视为分隔符。

于 2012-08-21T02:53:42.020 回答
1

只需在“Agarbatte/Candle”上使用“urlencode”。我没有看到对“rawurlencode”的特殊需求。

于 2012-08-21T02:53:54.787 回答
1

尽管您可以urlencode()像其他人所说的那样使用该功能,但我建议您不要养成这种习惯。假设您在数据库中有这些产品,使用id并且您将永远不会遇到这些问题。

例如,如果 Candle 产品id在数据库中有 6...PHP 应解析为:<a class="submenu" href='products/6'>

此外,您可以在此处采取一些捷径,从长远来看对您有所帮助。

  1. 而不是<?php echo "something" ?>在 php.ini 中打开 php 短标签并使用<?= "something" ?>
  2. 您无需在base_url每次编写链接时都调用。适当地使用<base>HTML 标签:<base href="http://localhost/yourapp/"><head>

所以......在使用1和2之后说:

<a href='products/<?= $id;?>'><?= $name_of_product ?></a>

于 2012-08-21T03:06:48.360 回答
0

如何在 url 中使用“Agarbatte-Candle”然后在输出页面上

$url_bit=string_replace('-','/',$url_bit);
于 2012-08-21T03:06:48.490 回答