Как заменить слова вне двойных и одинарных кавычек

Для пользовательского синтаксического анализатора сценариев в PHP я хотел бы заменить некоторые слова в многострочной строке, содержащие двойные и одинарные кавычки. Однако заменить можно только тот текст, который находится внекавычек.

Many apples are falling from the trees.    
"There's another apple over there!"    
'Seedling apples are an example of "extreme heterozygotes".'

Например, я хотел бы заменить «яблоко» на «грушу», но только вне кавычек. Таким образом, в этом случае будет выбрано только «яблоко» внутри «Много яблок падает с деревьев».

Вышеизложенное даст следующий вывод:

Many pears are falling from the trees.    
"There's another apple over there!"    
'Seedling apples are an example of "extreme heterozygotes".'

Как этого добиться?

5
задан Nick 7 June 2012 в 09:15
поделиться