如何为字符串中的每个单词添加一些符号


How to add some symbol to every word in string?

我正在寻找快速和好的方法来添加"-"在字符串中的每个单词之前。例如,"bla bla bla"应该变成"-bla -bla -bla"。我不想创建这个字符串的数组,然后映射它,等等。这看起来是一条错误而缓慢的路。你对此有什么建议吗?

如果我们假设一个单词总是由空格分隔,并且这些空格没有其他特殊含义,我们可以:

$str = 'bla bla bla';
$symbol = '-';
$newString = $symbol . str_replace(' ', " $symbol", $str);
echo $newString;
输出:

-bla -bla -bla

您应该使用正则表达式:

echo preg_replace('/('w+)/', '-$1', 'bla bla bla');

在线搜索Perl兼容正则表达式以获得更多详细信息!

preg_replace('/('w+)/i', '-$1', $string);