Как исправить расстояние между предложениями на извлеченном простом тексту из HTML?

StackOverflow https://stackoverflow.com/questions/5826066

Вопрос

Я вытаскиваю статьи из конкретных 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, чтобы захватить открытый текст. Хотя я получаю тот же результат, если я сделаю это вручную или с любым другим двигателем разбора.

Это было полезно?

Решение

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

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

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

Другие советы

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

$str = trim(preg_replace('~([(].+?[.])\s(.+?[)])~', '$1$2', str_replace('.', '. ', $str)));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top