Я надеюсь, что кто-то может мне помочь ... Я не эксперт по регулярным выражениям, и я ищу решение для обработки подстановки текста.
У меня есть HTML код, подобный этому:
<script>
...something here...
</script>
<script type="text/javascript">
...something here...
</script>
...something here...
<script type="text/javascript">
1st occurrence
...something here...
fbq(...something here...)
...something here...
</script>
...something here...
<script type="text/javascript">
2nd occurrence
...something here...
fbq(...something here...)
</script>
...something here...
Мне нужно найти всю строку между ', которая содержит функцию fbq. Таким образом, в моем примере мне нужно иметь:
Group1:
<script type="text/javascript">
//1st occurrence
...something here...
fbq(...something here...)
...something here...
</script>
Group2:
<script type="text/javascript">
2nd occurrence
...something here...
fbq(...something here...)
</script>
И так далее, если есть еще вхождения. Я думаю, что будет также хорошо иметь больше совпадений вместо нескольких групп.
Внимание: в моем коде может быть много строк <script
, которые не содержат функцию 'fbq', и я могу Я не уверен, как они расположены и находятся ли они в новой строке или нет.
Я пробовал много кодов регулярных выражений, но не могу найти что-то, что работает.
Т.е. с помощью
(?:^.*)(<script.*fbq.*<\/script>)(?:.*$)
или
.*(<script.*fbq.*<\/script>).*
Я могу найти только последнее вхождение fbq (в моем примере только 2-е вхождение).
Я также пытался играть с включением групп, но без удачи.
Тогда мне нужно использовать это регулярное выражение в PHP коде, для подстановки с использованием preg_replace
Любое предложение очень приветствуется
Заранее спасибо !