首页 > 解决方案 > 如何在不关心php中单词之间的空格的情况下替换文本

问题描述

我想知道,如何在不影响进程的空格的情况下用其他内容替换文本。
( "Hi, I'm here!" Will be replaced with "bye")
像这样( Value ==> ReplacedValue):

Hi,I'mhere!                  ==>   bye
Hi, I'm here!                ==>   bye
Hi,  I'm here!               ==>   bye
Hi  ,     I'm        here!   ==>   bye

现在使用str_ireplace( str_ireplace("TheOriginalWord", "TheReplacement", $data)) 不会做我想要的,它会这样做:

Hi, I'm here!                ==>   bye
Hi,  I'm here!               ==>   Hi,  I'm here!
Hi  ,     I'm        here!   ==>   Hi  ,     I'm        here!

标签: php

解决方案


使用正则表达式。

preg_replace('/Hi\s*,\s*I\'m\s*here!/i', "bye", $data);

\s*匹配零个或多个空格。如果您只想匹配一个或多个空格,请\s+改用。


推荐阅读