2010-03-22 81 views
0

我有一个包含若干个以下的文本文件:重建在从该位置原数组的位置在一个精简阵列

<ID> 
<Time 1> --> <Time 2> 
<Quote (potentially multiple line> 
<New Line Separator> 

<ID> 
<Time 1> --> <Time 2> 
<Quote (potentially multiple line> 
<New Line Separator> 

<ID> 
<Time 1> --> <Time 2> 
<Quote (potentially multiple line> 
<New Line Separator> 

我有一个非常简单的正则表达式剥离这些伸到一个常数块所以它只是:

<Quote> 
<Quote> 
<Quote> 

我希望做的是目前的报价为块给用户,并让他们选择它(使用jQuery.fieldSelection),然后使用所选的内容背出来到原始数组,所以我可以得到时间和ID。

因为这有外出HTML,用户必须能够选择屏幕上的文字,我做不到像隐藏层或隐藏输入字段什么。我将获得的唯一数据是在屏幕上选择的字符范围。

具体而言,这是它的样子:

1 
0:00 --> 0:05 
He was bored. So bored. His great intellect, seemingly inexhaustible, 
was hungry for new challenges but he was the last of the great innovators 

2 
0:05 --> 0:10 
- society's problems had all been solved. 

3 
0:11 --> 0:20 
All seemingly unconnected disciplines had long since been found to be related in 
horrifically elusive and contrived ways and he had mastered them all. 

这是想什么,我呈现给用户以供选择:

他觉得很无聊。很无聊。他的伟大的 智力,看似取之不尽, 渴望新的挑战,但他 是伟大的创新者的最后 - 社会的问题已全部解决了 。所有看似无关的学科 早已被发现 在速度惊人难以捉摸 和做作的方式有关系,他已经掌握了 他们。

具有跨越这样的事情在任何人融为一体?任何想法如何采取选定的文本或选择位置,并回溯到原始的元数据?

回答

1

这是不可能在一般情况下,因为谁也不能保证,在一个列表中的元素(甚至一系列元素大于总成绩的一半长度短)将是独一无二的。如果我们把任何文本片段才会出现一次的限制,我们可以简单地搜索原始列表文本,看看它发生(尽管这将是无效的)。通常,最好的解决方案是将原始片段的引用附加到精简版本。如果你正在做使用Javascript的转变,这是很简单 - 只要具备转换功能包每个结果句子的跨度和设置thisSpan.original = 3或什么的。