Analise uma lista de atributos / valores em PHP

Dada uma string com pares de atributo / valor, como

attr1="some text" attr2 = "some other text" attr3= "some weird !@'#$\"=+ text"

o objetivo é analisá-lo e gerar uma matriz associativa, neste caso:

array('attr1' => 'some text',
      'attr2' => 'some other text',
      'attr3' => 'some weird !@\'#$\"=+ text')

Observe o espaçamento inconsistente em torno dos sinais de igual, as aspas duplas com escape na entrada e as aspas simples com escape na saída.

questionAnswers(2)

yourAnswerToTheQuestion