不会获取包含 space 的结果
Results that include space don't get fetched
这是我用来获取不同类别名称结果的代码。在这里,如果类别名称具有 space,则不会显示结果,而没有 space 的名称将显示。
这是我的代码:
<ul>
<li><a href="<?php echo base_url();?>clients">View All </a></li>
<?php foreach($clientdropdown as $row){?>
<li class="<?php if($active_mn== $row->id) echo 'active'; ?>">
<a href="<?php echo base_url();?>client/<?php echo $row->category_name;?>">
<?php echo $row->category_name;?>
<span></span>
</a>
</li>
<?php }?>
</ul>
我对在哪里使用 replace()
来避免 space 有点困惑。
我已经更改了我的代码,请查看
查看了您在编辑后的代码中尝试执行的操作后,您遇到的问题不是 $row->category_name
无法获取。
这是因为 URL 中的 space 可能未被编码,因此页面无法正确重定向。
URL 编码将不安全的 ASCII 字符替换为“%”后跟两个十六进制数字。
Space 是不安全的 ASCII 字符。
URLs 不能包含 spaces。
URL 编码通常用加号 (+) 或 %20 替换 space。
urlencode()
将 space 翻译成 +
rawurlencode()
将参数转换为十六进制代码,即 %20 for space
<ul>
<li><a href="<?php echo base_url();?>clients">View All </a></li>
<?php foreach($clientdropdown as $row){?>
<li class="<?php if($active_mn== $row->id) echo 'active'; ?>">
<a href="<?php echo base_url();?>client/<?php echo rawurlencode($row->category_name);?>">
<?php echo $row->category_name;?>
<span></span>
</a>
</li>
<?php }?>
</ul>
更新
codeigniter 在创建名称包含 space 的目录时将 space 转换为下划线,因此访问使用类别名称 "Hello World" 创建的目录的正确路径应该是 "Hello_World",为此特殊情况 str_replace(" ", "_", $row->category_name)
就足够了。
这是我用来获取不同类别名称结果的代码。在这里,如果类别名称具有 space,则不会显示结果,而没有 space 的名称将显示。
这是我的代码:
<ul>
<li><a href="<?php echo base_url();?>clients">View All </a></li>
<?php foreach($clientdropdown as $row){?>
<li class="<?php if($active_mn== $row->id) echo 'active'; ?>">
<a href="<?php echo base_url();?>client/<?php echo $row->category_name;?>">
<?php echo $row->category_name;?>
<span></span>
</a>
</li>
<?php }?>
</ul>
我对在哪里使用 replace()
来避免 space 有点困惑。
我已经更改了我的代码,请查看
查看了您在编辑后的代码中尝试执行的操作后,您遇到的问题不是 $row->category_name
无法获取。
这是因为 URL 中的 space 可能未被编码,因此页面无法正确重定向。
URL 编码将不安全的 ASCII 字符替换为“%”后跟两个十六进制数字。
Space 是不安全的 ASCII 字符。
URLs 不能包含 spaces。
URL 编码通常用加号 (+) 或 %20 替换 space。
urlencode()
将 space 翻译成 +
rawurlencode()
将参数转换为十六进制代码,即 %20 for space
<ul>
<li><a href="<?php echo base_url();?>clients">View All </a></li>
<?php foreach($clientdropdown as $row){?>
<li class="<?php if($active_mn== $row->id) echo 'active'; ?>">
<a href="<?php echo base_url();?>client/<?php echo rawurlencode($row->category_name);?>">
<?php echo $row->category_name;?>
<span></span>
</a>
</li>
<?php }?>
</ul>
更新
codeigniter 在创建名称包含 space 的目录时将 space 转换为下划线,因此访问使用类别名称 "Hello World" 创建的目录的正确路径应该是 "Hello_World",为此特殊情况 str_replace(" ", "_", $row->category_name)
就足够了。