l'apostrofo è scritto giusto, è solo che non c'è lo spazio quando usi l'apostrofo.

$titolo = trim(preg_replace("/^((il|lo|la|i|gli|le|un|uno|una)\s|(l\'|un\'))(.+)/i", "$4 ($1", trim($titolo))).')';

Ho aggiunto la parentesi in fondo per evitare uno spazio dentro la parentesi tonda dell'articolo, sicuramente è possibile farlo con una espressione regolare più complessa ma funge anche così