我有一个类似
的字符串$str = ["abc","cde","efg"];
我想在每个单词中添加@前缀,所以它变得像
$str = "@abc","@cde","@efg";
实际上,我必须在FULLTEXT上的mysql中运行搜索查询,在该查询中,我需要给出类似"@abc","@cde"
的字符串
答案 0 :(得分:1)
如果字符串为'"abc","cde","efg"'
,则可以使用str_replace和substr在每个项目上添加@。
$str = '"abc","cde","efg"';
$str = '"@' . substr(str_replace(',"', ',"@', $str),1);
Echo $str; //"@abc","@cde","@efg"
str_replace将在除第一个项目之外的所有项目上添加@,然后substr和string concatenate将执行第一个项目。
答案 1 :(得分:0)
提供的字符串如下:
$str = "abc,cde,efg";
您可以爆炸它:
$array = explode(',', $str);
在这种情况下,$ array看起来像这样:
$array = ["abc","cde","efg"];
并在每次添加前缀的过程中进行迭代。
$prefix = '@';
foreach ($array as $key => $item) {
$array[$key] = $prefix . $item;
}
然后转换回字符串。
$str = implode (',', $array);
除非您只想在可以匹配特定模式的某些字符串上添加前缀,否则就不需要 regex 。