如何在php中回显正斜杠

时间:2012-08-21 02:51:09

标签: php codeigniter

我想在php中回复斜杠,如下所示

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

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

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:3)

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

如果您在URL中的路径与文件系统之间存在1:1映射,则表示运气不佳。如果您的应用程序使用“路由层”,则可以修改它以在满足某些条件时不将/视为分隔符。

答案 1 :(得分:1)

只需使用&#39; urlencode&#39;在&#39; Agarbatte / Candle&#39;。我认为没有特别需要&#39; rawurlencode&#39;。

答案 2 :(得分: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/">
  3. 中的<head>

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

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

答案 3 :(得分:0)

如何在输出页面上的网址中使用“Agarbatte-Candle”

$url_bit=string_replace('-','/',$url_bit);