<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 標題: 如何結合substr_count和str_replace函數刪除特定子串後計算剩餘子串的出現次數?</span></span><span>
</span><span><span class="hljs-comment">// 作者: ChatGPT</span></span><span>
</span><span><span class="hljs-comment">// 日期: 2025-08-30</span></span><span>
</span><span><span class="hljs-comment">// 本文將介紹如何利用 PHP 中的 substr_count 和 str_replace 兩個函數,</span></span><span>
</span><span><span class="hljs-comment">// 實現先刪除特定子串,再統計剩餘子串出現次數的實用技巧。</span></span><span>
</span><span><span class="hljs-comment">// ---------------------------- 正文開始 ----------------------------</span></span><span>
<span class="hljs-comment">/**
* 在字符串處理中,我們經常會遇到這樣的需求:
* 1. 刪除某個特定的子串。
* 2. 在刪除後的結果中,統計另一個子串出現的次數。
*
* PHP 提供的 `str_replace` 和 `substr_count` 兩個函數配合使用,能夠非常高效地完成這個任務。
*
* 下面我們通過一個示例來說明。
*/</span>
</span><span><span class="hljs-variable">$original</span></span><span> = </span><span><span class="hljs-string">"apple-banana-apple-orange-apple-banana"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"原始字符串: "</span></span><span> . </span><span><span class="hljs-variable">$original</span></span><span> . PHP_EOL;
</span><span><span class="hljs-comment">// 第一步:刪除特定子串(例如 "banana")</span></span><span>
</span><span><span class="hljs-variable">$removed</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-string">"banana"</span></span><span>, </span><span><span class="hljs-string">""</span></span><span>, </span><span><span class="hljs-variable">$original</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"刪除 'banana' 後: "</span></span><span> . </span><span><span class="hljs-variable">$removed</span></span><span> . PHP_EOL;
</span><span><span class="hljs-comment">// 第二步:統計剩餘字符串中 "apple" 出現次數</span></span><span>
</span><span><span class="hljs-variable">$count</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr_count</span></span><span>(</span><span><span class="hljs-variable">$removed</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"刪除後 'apple' 出現次數: "</span></span><span> . </span><span><span class="hljs-variable">$count</span></span><span> . PHP_EOL;
<span class="hljs-comment">/**
* 輸出結果:
* 原始字符串: apple-banana-apple-orange-apple-banana
* 刪除 'banana' 後: apple--apple-orange-apple-
* 刪除後 'apple' 出現次數: 3
*
* 可以看到,先通過 str_replace 去除不需要的子串,再用 substr_count 統計目標子串的次數,
* 就能輕鬆完成需求。
*/</span>
</span><span><span class="hljs-comment">// 補充說明:</span></span><span>
</span><span><span class="hljs-comment">// - `str_replace` 會將目標子串全部替換成指定內容,这里我们替换为空字符串即可达到刪除的效果。</span></span><span>
</span><span><span class="hljs-comment">// - `substr_count` 則是用來統計子串在字符串中出現的次數。</span></span><span>
</span><span><span class="hljs-comment">// - 如果需要更複雜的替換或統計邏輯,也可以結合正則函數(如 preg_replace、preg_match_all)。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>