我正在从特定网址中提取文章以转换为句子,但文本正文具有消除某些句子之间空格的随机行为,从而导致:
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来获取明文。虽然,如果我手动或使用任何其他解析引擎,我会得到相同的结果。
答案 0 :(得分:3)
不幸的是,我没有针对您的具体问题的方法,但是句子之间缺少的空间是否可能是一个换行符(例如\ n),您的文本查看器(无论它是什么)没有显示给您?
也许尝试这样的事情只是为了确保
var articleContent = ... // get content
articleContent = articleContent.replace(/\n/g, ' NEW LINE ');
答案 1 :(得分:1)
尝试做:
$str = trim(preg_replace('~([(].+?[.])\s(.+?[)])~', '$1$2', str_replace('.', '. ', $str)));