mmm .. si requieres ese + en lugar de un espacio por qué vas a propagar ese valor de esa variable en el URL .. lo mejor es que uses la función:
url_encode() o url_rawencode() ..
www.php.net/url_encode
Esas funciones convierten los espacios en %20 o en + y no sólo actuan sobre esos caracteres sino con otros tambien que plantean problemas si se propagan por el URL como caracteres acentuados, comillas .. comas .. etc ...
Un saludo,