使用Opencart从PHP字符串中删除字符
我目前正在使用Opencart(1.5.6.1)运行多存储, 我有一家商店有很多产品,但它们都必须有相同的名称, 现在在后端我有“Blah-Tshirt 15”“Blah-Tshirt 16”等等 在opencart中有一个foreach循环使用Opencart从PHP字符串中删除字符,php,string,replace,opencart,trim,Php,String,Replace,Opencart,Trim,我目前正在使用Opencart(1.5.6.1)运行多存储, 我有一家商店有很多产品,但它们都必须有相同的名称, 现在在后端我有“Blah-Tshirt 15”“Blah-Tshirt 16”等等 在opencart中有一个foreach循环 <?php foreach ($products as $product) { ?> <?php if ($product['name']) { ?> <?php if ($product['product_href']
<?php foreach ($products as $product) { ?>
<?php if ($product['name']) { ?>
<?php if ($product['product_href']) { ?>
<div class="name">
<a href="<?php echo $product['product_href']; ?>">
<?php echo $product['name']; ?>
</a>
</div>
<?php } else { ?>
<div class="name">
<?php echo $product['name']; ?>
</div>
<?php } ?>
<?php } ?>
现在,页面上的输出,按照它所说的,输出产品名称“Blah-Tshirt 15”
或者不管他们叫什么
但如果在客户看到的页面上,我的客户希望每件T恤都只说
“诸如此类的T恤”
有没有一种简单的方法可以str replace
,或者trim
代码,即从$product[name]
我不是一个了不起的PHP专家,我知道一点,但我搞不懂…有一个PHP函数叫做
substr
。您可以使用substr($product['name'],0,-1)代码>这将删除最后一个字符。如果使用-2
,它将删除最后2个字符,依此类推
substr('yourstring'{string},startindex{int},endindex{int})代码>我会使用substr($product['name'],0,-2)
来使用
但是,如果要从字符串中删除所有数字,请使用正则表达式。像preg_replace(“/[0-9]/”,“”,$product['name'])代码>从。它使用。您可以按照其他建议使用substr($var,0,-n)
删除最后n个字符。但是,如果您想删除“字符串末尾后跟任意数量数字的空格”,请使用正则表达式:preg\u replace('/\d+$/',''$var)
在模板中,只需替换这一行即可
<?php echo $product['name']; ?>
<?php echo substr($product['name'], 0, strpos($product['name'], '- Tshirt') + 8); ?>
用这条线
<?php echo $product['name']; ?>
<?php echo substr($product['name'], 0, strpos($product['name'], '- Tshirt') + 8); ?>
这将导致以下结果:
Blah-Tshirt 1->Blah-Tshirt
Blah-Tshirt 15->Blah-Tshirt
Blah-Tshirt 150->Blah-Tshirt
没有尾随空格。我认为最好的方法是在数据库product\u description
和产品表单中添加一个新字段,如-product\u label
。运行一个查询,为现有产品插入值,并在前端显示。我选择使用它,它工作得非常好!!