<?php

$url = "animacao/!?page))/!@2?s*!=";

// pega tudo o que for um caractere de palavra de az, AZ, 0-9, incluindo o caractere _ (sublinhado).
// OU pega a parte que tem ( ?s )
preg_match_all('/(\w|\?s)+/', $url, $partes);

// nova url que será usada
$novaUrl = "";

foreach($partes[0] as $parte){
    if(strpos($parte, "?s")){
        // se a parte a ser analisada for ( ?s ) insira na $novaUrl com um ( = ) no final
        $novaUrl .= $parte."=";
        continue; // continue o loop
    }
    // qualquer outra parte insere com uma barra no final
    $novaUrl .= $parte."/";
}

// se o último caracter for uma barra ( / ) retire ela da string
if(substr($novaUrl,  -1) == "/")
$novaUrl = substr($novaUrl, 0, -1);

// mostra o resultado
echo $novaUrl;