Как исправить интервал между предложениями на извлеченном тексте из HTML? - PullRequest
2 голосов
/ 29 апреля 2011

Я вытаскиваю статьи с определенных URL для преобразования в предложения, но текстовое тело имеет случайное поведение, исключая пробелы между предложениями, что приводит к:

Jane went to the store.She bought a dog. The dog was very friendly.It had no teeth.

Часть моего текста - это стоковые символы (AZ.GAN) и т. Д. Поэтому я не могу просто вставить пробел между всеми периодами, у которых нет соседних пробелов.

Jane bought several shares of (TY.JPN). She lost all her cash money."Arg!" She cried.

В приведенном выше примере будет уничтожена переменная символа акции.

Любопытно, если кто-нибудь знает причину этого.Я пробовал несколько HTML и DOM.Я использую Simple_DOM, чтобы захватить открытый текст.Хотя, я получаю тот же результат, если я делаю это вручную или с любым другим механизмом синтаксического анализа.

Ответы [ 2 ]

3 голосов
/ 29 апреля 2011

К сожалению, у меня нет подхода к вашему конкретному вопросу, но возможно ли, что пропущенный пробел между предложениями на самом деле является переносом строки (например, \ n), который не отображается в вашей программе просмотра текста (какой бы она ни была)?

Возможно, попробуйте что-то подобное, просто чтобы убедиться,

var articleContent = ... // get content<br> articleContent = articleContent.replace(/\n/g, ' NEW LINE ');

1 голос
/ 29 апреля 2011

Попробуйте сделать:

$str = trim(preg_replace('~([(].+?[.])\s(.+?[)])~', '$1$2', str_replace('.', '. ', $str)));
...