Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Opencart从PHP字符串中删除字符_Php_String_Replace_Opencart_Trim - Fatal编程技术网

使用Opencart从PHP字符串中删除字符

使用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']

我目前正在使用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']) { ?>
   <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
。运行一个查询,为现有产品插入值,并在前端显示。我选择使用它,它工作得非常好!!