php - 如果还没有空格,如何在子字符串周围添加空格?

标签 php parsing spaces emoticons

示例输入字符串:test:)test:)test:) :) test:p test
想要的输出字符串:test :) test :) test :) :) test :p test

如您在上面的示例中所见,我想解析字符串并生成一个输出字符串,其中在所有预定义的笑脸代码周围添加了空格。

我试图用几个循环来做到这一点,但最终它并没有像预期的那样 100% 工作,而且在处理大文档时速度非常慢。

所以我想知道用 PHP 进行这种解析的最佳和最有效的方法是什么?

最佳答案

嵌套替换:

preg_replace("/\s\s+/", " ", 
    str_replace( Array( ":)", ":p" ),
        Array( " :) ", " :p " ), $str) );

关于php - 如果还没有空格,如何在子字符串周围添加空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552096/

相关文章:

vim : Highlight tab with one color and spaces with another ?

objective-c - 在任务控制中将窗口移动到新空间

php - 如何从不同的目录中 require_once?

javascript - Jison 解析器在第一条规则后停止

vb.net - 从字符串中删除多余的空格

python - 仅匹配出现在解析字符串右半部分的元素

python - 如何读取带有 & 符号的 xml 文件

php - Laravel 获取内容的页眉和页脚

php - 交响乐 2 : Display an image mediumblob

php - MySQL查询数据库考勤进出