I allow my own heart to be broken time and time again. 
How do I stop this from happening?

They tell me to detach. I'm not sure what that means.

detach
verb /dɪˈtætʃ/
1. disengage (something or part of something) and remove it
2. leave or separate oneself from (a group or place)


Leave.
Walk away.
Take distance.
Disengage.

How do I just disengage from someone?
From someone I love to surrender myself to.
From someone I would give my all to, if only he'd let me.
From someone I already see my future with, so perfectly planned out.

The weird thing is I still believe it will happen.
Do I know it will?
Is it future vision or wishful thinking?

I got some advice this week.
"The guy in front of me might be my future husband....
but right now he's also the guy who called me a bitch."

Right.
Exactly.
So, what do we do with guys who call us bitches?