PHP str_replace将字符串中的相同文本替换为不同的文本


php str_replace change same text inside string with diffrent text

这是文本:

$string = "This is my car. 
my car.
Look my car.";

我想在每个句子的前后添加文字:所以我的结果是:

SOME-TEXT This is my car. SOME-TEXT
SOME-TEXT my car. SOME-TEXT
SOME-TEXT Look my car. SOME-TEXT

我正在尝试这样做:

$string = str_replace("my car", "SOME-TEXT my car SOME-TEXT", $string);

但我得到结果:

<p>This is SOME-TEXT my car. SOME-TEXT</p> 
<td>SOME-TEXT my car. SOME-TEXT</td>
<h1>Look SOME-TEXT my car. SOME-TEXT<h1>

这不是我想要的!

你知道吗?

$string = str_replace("my car.", "my car. SOME-TEXT", $string);

这就达到了你想要的效果:

$string = "This is my car. 
my car.
Look my car.";
define('SOME_TEXT', 'SOME-TEXT');
define('BEG', SOME_TEXT . ' ');
define('END', ' ' . SOME_TEXT);
$result = BEG . str_replace("'n", END . "'n" . BEG, $string). END;