PHP 將 Array 的 Value 依照字元長到短排序

有多個字串想要依序做刪除或取代,但是可能會遇到一些問題,如下案例:

$filter 是不想出現的文字,所以要將 $string 的內容有出現這些文字,都刪除~

<?php
$string = '蘋果多少錢';
$filter = ['多少', '多少錢', '價格', '價錢'];
echo str_replace($filter, '', $string); // 蘋果錢
?>

這樣子結果會出來「蘋果錢」,而不是預期想要的「蘋果」

要怎麼解決呢?

閱讀全文〈PHP 將 Array 的 Value 依照字元長到短排序〉