首页 > 解决方案 > php将字符串变量附加到另一个

问题描述

我有类似的字符串A - ZArtists & Makers它是从 foreach 循环返回的。

输出如:

在新闻界

A - Z

艺术家和制造商

主要目标是删除空格并替换-并转换为小写,我已经完成了如下操作:

$post = <!--returned from foreach the output given above-->

$postvalue= = str_replace(' ', '-', strtolower($post));   //condition 1

现在我需要像下面一样进行所有替换,并且更改应该在单个变量中,称为$postvalue

$azpostvalue= str_replace("A - Z", "a-z", $post);  //condition 2
$artistspostvalue= str_replace("Artists & Makers", "artists-makers", $post);   //condition 3  
$spacepostvalue= str_replace(' ', '-', strtolower($postvalue));

意图是 str_replace 所有大写,额外的空格并用小写替换,特别是对于A - Z(space)&(space)我需要得到像a-zand一样的输出artists-makers

所以基本上所有这些变化(即条件 1,2,3)应该是 $postvalue 在一行中。

但无法在单行中完成

标签: php

解决方案


好像你把它复杂化了。只需使用:

$postvalue = str_replace("a - z", "a-z", $postvalue);

请注意,您已经将其转换为小写,因此您应该匹配aand z,而不是Aand Z

除此之外,您的代码会起作用,但它会替换不属于的字母a - z-a单词末尾的任何字母都会在其后删除空格。


推荐阅读