Mira este
post.
Esta fue una función que realicé hace unos meses, pero te recomiendo trates de hacer antes todo lo que dicen en los comentarios de la función y ensayar si efectivamente te soluciona el problema sin necesidad de hacer uso de la función.
Nos cuentas como te va