我有一個.txt文件,我想用一個新的字符串替換第一次出現子字符串後出現的所有內容。如何在PHP中使用新字符串替換給定子字符串後的所有內容?
例如,如果.txt文件包含:
這是彼得和他喜歡的巧克力派。外面陽光明媚。
我希望能夠在世界的「巧克力」與「酒吧」後取代一切,所以最終的結果將是:
這是彼得和他喜歡的巧克力棒
這樣做的最好方法是什麼?
我有一個.txt文件,我想用一個新的字符串替換第一次出現子字符串後出現的所有內容。如何在PHP中使用新字符串替換給定子字符串後的所有內容?
例如,如果.txt文件包含:
這是彼得和他喜歡的巧克力派。外面陽光明媚。
我希望能夠在世界的「巧克力」與「酒吧」後取代一切,所以最終的結果將是:
這是彼得和他喜歡的巧克力棒
這樣做的最好方法是什麼?
一個preg_replace
通話將工作:
$subject = "This is Peter and he likes chocolate pies. It's sunny outside.";
$regex = "#(chocolate).+$#";
$out = preg_replace($regex,"$1 bars.",$subject);
你可以,如果你想在搜索模式的字和替換模式替換變量。
使用strpos和substr的組合來切斷結束。
$str = 'This is Peter and he likes chocolate pies. It\'s sunny outside.';
$find = 'pies';
$replace = 'bars';
$str = substr($str, 0, strpos($str, $find)) . $replace;
+1對於非正則表達式:D –
我喜歡你的答案。我的問題是,雖然我不知道「巧克力」這個詞後面出現了什麼,但我只知道我需要用另一個字符串替換「巧克力」之後的所有東西。這就是爲什麼我不能在這裏找到「餡餅」 – Zannix
所以使用變量$ replace –