Php pcre — как осуществить поиск совпадений с подмаской?

Есть текст, в нем надо выловить определенные слова, если они стоят рядом, или между ними любое количество слов длинной до 3х символов, обьедитнить их.

Чтобы не быть многословным, пример, равно как и моя попытка это сделать. В эмуляторе все работает нормально, на практике с тем же текстом все обламывается
regex101.com/r/tO3eQ1/1
  • Вопрос задан
  • 2418 просмотров
Решения вопроса 1
ivankomolin
@ivankomolin
$text = '<p>Аналитики Марк Стэнсер, Билл Эдэйр, Аарон Кролик и Прашант Камалакантан изучили, каких digital-инструментов не хватает в современных СМИ и ньюзрумах. Результаты исследования они опубликовали под неоднозначным названием «<a href="http://www.goatmustbefed.com/">Козлов надо кормить</a>». Редакция ЦП представляет самые интересные тезисы из этого исследования.</p><div><p><a href="http://www.rtdna.org/article/newsroom_staffing_stagnates#.U1lBpMZUMZc">обнадеживающую статистику</a> роста цифровых просмотров, существует ряд барьеров, которые сдерживают проникновение digital-инструментов в современных службы новостей.</p><h2>Барьеры приоритетов</h2><p>Аналитики отмечают, что по мнению главных редакторов СМИ и продюсеров медиа-ресурсов, digital &mdash; это дополнительные «свистелки», дополняющие традиционный формат подачи новостей и не имеющие права на существование в качестве отдельной формы.</p><p>Это приводит к тому, что команды digital-специалистов занимаются «репродукциями», а не созданием оригинального контента. Вместо историй в интерактивном формате и качественной инфографики как самостоятельного жанра они создают цифровые копии аналоговых новостей. Эффективность такой «работы» с digital-инструментами невелика.</p><h2>Организационные барьеры</h2><p>У новостников часто не хватает технических навыков для того, чтобы совместить производство и распространение контента с запросами аудитории, рекламодателей и подписчиков. Особенно если речь заходит о мобильных платформах, интерактивных сайтах и «сторителлинге».</p><p>Системы публикации, редактирования и совместного создания контента нуждаются в квалифицированной поддержке. Также надо учитывать рекламные метрики, показатели посещаемости, особенности работы тех или иных движков и удобство их использования журналистами и редакторами.</p><h2>Спрос на журналистику данных</h2><p>Один из главных приоритетов сейчас для СМИ &mdash; журналистика данных и создание интерактивных историй. Инфографика, интерактивная хроника и динамические диаграммы способны рассказать о политических или экономических событиях намного больше, чем скучный «сухой» текст с парой статичных картинок.</p><p>Визуализация историй и сочетание традиционных обо журналистских приемов с цифровыми технологиями, взятыми у блогов и социальных сетей, &mdash; залог интереса пользовательской аудитории и повторного потребления одного и того же контента в течение длительного времени.</p><p>Именно поэтому репортер, который способен использовать инструменты редактирования и оформления цифрового контента, сейчас ценнее, чем репортер с диктофоном, который просто пишет тексты без навыков использования digital.</p><h2>Инструменты, которые стоит взять на вооружение</h2><p>Для начала работы с digital аналитики рекомендуют новостникам использовать следующие инструменты:</p><ul> <li><a href="http://www.google.com/get/mediatools/">Google Media Tools</a> &mdash; набор инструментов для анализа и управления данными, позволяющий генерировать карты и графики на основе массива собранной информации;</li><li><a href="http://www.tableausoftware.com/public/">Tableau Public</a> &mdash; анализ данных и создание диаграмм и разных визуализаций, которые можно встроить в любой сайт;</li><li><a href="http://quartz.github.io/Chartbuilder/">Chartbuilder</a> &mdash; для быстрого построения графиков;</li><li><a href="http://www.documentcloud.org/">DocumentCloud</a> &mdash; для публикации документов и примечаний к ним с возможностью поделиться данными с аудиторией, разместив ссылку или встроив документ прямо в текст новости;</li><li><a href="https://www.overviewproject.org/">The Overview Project</a> &mdash; инструмент сочетание для приемов категоризации массива документов, включая возможность импорта из DocumentCloud;</li><li><a href="http://tabula.nerdpower.org/">Tabula</a> &mdash; для упрощения процесса извлечения данных из PDF-файлов, которые подлежат анализу;</li><li><a href="http://pandaproject.net/">PANDA Project</a> &mdash; инструмент для создания цифровой библиотеки для ньюзрума, с помощью которого публикациями, файлами и выдержками из документов можно поделиться совсеми журналистами в команде;</li><li><a href="http://projects.knightlab.com/projects/TimelineJS">TimelineJS</a> &mdash; способ создать интерактивную хронику, добавляемую на сайт новостного ресурса, телеканала или радиостанции. Позволяет собрать разные виды материалов из социальных медиа, ссылки на публикации в микроблогах и видеоролики.</li></ul></div>';
if (preg_match_all('/((?:(?:(?:\s+|^)(?:\w{0,3}(?:\s+|$))*)*)(?:сочетание|традиционных|журналистских|приемов|всем))+/usi', $text, $match)) {
    var_dump($match[0]);die;
}


Результат
array(3) {
  [0]=>
  string(96) " и сочетание традиционных обо журналистских приемов"
  [1]=>
  string(41) " сочетание для приемов"
  [2]=>
  string(8) "всем"
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы