Это потому, что все ваши URL-адреса находятся в одной и той же строке, поэтому, когда он проходит через ваш код, он сопоставляется со сравнением «sitea.com», затем сопоставляется со сравнением «vip:», а затем переходит ви заменяет все вхождения «sitea» заменой «aaa».Он никогда не попадает в строку замены «bbb», потому что $ str всегда содержит «vip».
Что вам нужно сделать, это разбить ваш $ str на массив URL-адресов и обработать каждый из них по отдельности.