Как извлечь цитаты из текста (PHP)?

Здравствуйте!

Я хотел бы извлечь все цитаты из текста. Кроме того, следует указать имя цитируемого лица. DayLife делает это очень хорошо.

Пример:

«Они думают, что это« игра окончена », – сказал один из высокопоставленных чиновников администрации.

Фраза Они думают, что это «игра», и цитированный человек должен быть извлечен одним из старших должностных лиц администрации .

Как вы думаете, это возможно? Вы можете различать цитаты и слова в кавычках, если вы проверяете, упоминается ли упомянутый человек.

Пример:

«Я думаю, что это серьезно, и оно ухудшается», – заявил в воскресенье в программе CNN «Состояние Союза» адмирал Маллен.

Проходное государство Союза не является котировкой. Но как вы это обнаруживаете? a) Вы проверяете, упоминается ли упомянутое лицо. б) Вы считаете пробелы в предполагаемой котировке. Если будет меньше 3 пробелов, это не будет цитата, не так ли? Я бы предпочел b), поскольку не всегда упоминается имя человека.

Как начать?

Сначала я бы заменил все типы кавычек на один тип, чтобы вам пришлось проверять только один знак кавычки позже.

<?php $text = ''; $quote_marks = array('“', '”', '„', '»', '«'); $text = str_replace($quote_marks, '"', $text); ?> 

Затем я извлечу все фразы между кавычками, которые содержат более трех пробелов:

 <?php function extract_quotations($text) { $result = preg_match_all('/"([^"]+)"/', $text, $found_quotations); if ($result == TRUE) { return $found_quotations; // check for count of blank spaces } return array(); } ?> 

Как вы могли это улучшить?

Я надеюсь, что вы можете мне помочь. Заранее большое спасибо!