Php 如何为字符串中的每个单词添加符号?

Php 如何为字符串中的每个单词添加符号?,php,php-5.3,Php,Php 5.3,我正在寻找在字符串中的每个单词之前添加“-”的快速而好的方法。例如,“bla-bla-bla”应该变成“-bla-bla-bla”。 我不想用这个字符串做一个数组,然后映射它,等等。这看起来是一个错误的、缓慢的方法。 你对此有什么建议吗?怎么样 preg_replace('/(\w+)/i', '-$1', $string); 您应该使用正则表达式: echo preg_replace('/(\w+)/', '-$1', 'bla bla bla'); 在线搜索与Perl兼容的正则表达式以获

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

怎么样

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

您应该使用正则表达式:

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

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

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

$str = 'bla bla bla';
$symbol = '-';

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

-bla -bla -bla

你如何定义这个词?
“42”
是一个单词吗?那
呢?
?那么
“-”
?速度慢有关系吗?你到底要花多少钱?获得一个有效的(如果不美观的)解决方案可能比寻求过早的优化更好地利用您的时间。通过“生成字符串数组”,您指的是php split()函数吗?这就是我处理这个问题的方法,不需要使用
I
修饰符,因为
\w
已经处理好了,谢谢。好的,简单的解决方案。