function Show_all_products()
{
return $this->db->get('printer')->result();
}
表格内容正在循环中回显
$i = -1;
echo '<ul class="products">'; foreach($products as $product) :
if($i % 11 == 10) echo '</ul><ul class="products">';
?>
<li><a href="<?php echo base_url(); ?>does/products/<?php echo $product->id; echo '/'.$product->name; ?>"><?php echo $product->name; ?> </a></li>
<?php
$i += 1;
endforeach;
echo "</ul>";
产品名称保存为Something_Something_Blah
我无法修改产品名称,因为它们配置为显示干净的URL和面包屑。
问题是此视图中的链接显示为Something_Something_Blah
我尝试str_replace
作为$product = str_replace('_',' ', $product);
然而这不起作用。
如何剥离'_'并插入\s
?
答案 0 :(得分:1)
我发现你有<?php echo $product->name; ?>
,这意味着$product
是一个对象。
所以你应该致电str_replace('_', ' ', $product->name);
答案 1 :(得分:0)
<?php
$i = -1;
echo '<ul class="products">'; foreach($products as $product) :
$product->name = str_replace('_',' ', $product->name);
if($i % 11 == 10) echo '</ul><ul class="products">';
?>
<li><a href="<?php echo base_url(); ?>does/products/<?php echo $product->id; echo '/'.$product->name; ?>"><?php echo $product->name; ?> </a></li>
<?php
$i += 1;
endforeach;
echo "</ul>";
?>
必须在str_replace
内调用 foreach
,否则将返回错误。那是我的错误。
答案 2 :(得分:0)
根据PHP documentation,str_replace()
接受字符串或数组作为第三个参数。你传递的是一个物体。您应该将$product->name
传递给它。
此外,请努力在您的HTML中嵌入PHP,而不是在PHP中嵌入HTML。你会发现自己echo
一切。您也不需要手动创建$i
迭代器,因为foreach循环将为您创建一个,前提是您使用foreach($x as $key => $val)
语法。您也可能会失去<?php echo $var;?>
的{{1}},并与<?= $var;?>
符号连接:
.