2013-03-01 3 views
4

Я извлекаю некоторые данные из Викисловаря API. Их API анализирует весь блок текста без атрибутов html или атрибутов xml.Выберите текст между двумя словами

Пример текста:

===Etymology=== 
{{-er|develop}} 

===Pronunciation=== 
* {{a|UK}} {{IPA|/dɪˈvɛləpə(ɹ)/}} 
* {{a|US}} {{IPA|/dɪˈvɛləpɚ/}} 

===Noun=== 
{{en-noun}} 

# A person or entity engaged in the [[creation]] or [[improvement]] of certain classes of products. 
# A [[real estate]] developer; a person or company who prepares a parcel of land for sale, or creates structures on that land. 
# A [[film]] developer; a person who uses [[chemical]]s to create [[photograph]]s from photograph negatives. 
# A [[liquid]] used in the chemical processing of traditional photos. 
# A [[software]] developer; a person or company who creates or modifies [[computer]] software. 

====Synonyms==== 
* {{sense|person or company who writes computer software}} [[programmer]] 

====Related terms==== 
* [[develop]] 
* [[development]] 
* [[developmental]] 

Можно ли выбрать текст между === Существительное === ==== и синонимов ====? Например, я хочу в итоге:

  • Лицо или субъект, занимающийся созданием или улучшением определенных классов продуктов.
  • Строитель недвижимости; лицо или компания, которая готовит участок земли для продажи или создает структуры на этой земле.
  • Разработчик фильма; человек, который использует [[химические]] s для создания [[фотографии]] s с негативов фотографии.
  • Жидкость, используемая при химической обработке традиционных фотографий.
  • ======================

    Весь блок текста можно найти здесь: http://pastebin.com/raw.php?i=5ETx4ivB и результаты от API могут быть найдено здесь в формате XML: http://en.wiktionary.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=developer

    +0

    Да, это возможно, то, что вы пытались до сих пор с точки зрения синтаксического анализа? Что это связано с jQuery? –

    +0

    Возможно, библиотека Markdown может помочь вам разобрать это правильно ... – elclanrs

    +0

    Я попытался использовать Regex по-разному: http://jsfiddle.net/jEQQS. jQuery был помечен не уведомлять разработчиков, так что я бы не ответил на ответ, закодированный с помощью jQuery – jQuerybeast

    ответ

    2

    Вы можете попробовать

    var start = str.indexOf('===Noun==='), end = str.indexOf('====Synonyms===='); 
    var text = str.substring(start + 11, end) // +11 since `indexof` gives the start index and you need to exclude `===Noun===` 
    
    +0

    Кажется не работает http://jsfiddle.net/jEQQS/1/ – jQuerybeast

    +1

    Обновлено: http://jsfiddle.net/arunpjohny/jEQQS/2/ забыл удалить '=== Существительное ===' –

    +0

    Возможно ли это выбрать текст между двумя конкретными словами? Например $ Lorem Ipsum $ Joe Doe $> Выберите «Lorem Ipsum». – jQuerybeast

    0

    Используйте indexOf(), чтобы найти позиции подстрок, затем используйте substr(), чтобы получить строку между двумя найденными вами позициями.

    Смежные вопросы