fenom ereplace что не так?
        Доброго дня всем! Есть фрагмент подлежащий удалению из кода контента при отдаче в RSS
Пример кода баннера:
А при использовании ereplace с тем же выражением ни чего не вырезается ( в чанке test_banner_del приведенный выше код баннера)
Вопрос решен.
Т.к. регулярка не затрагивает ни чего кроме вырезаемого баннера, то поступил так:
    
    
                                                                                
            Пример кода баннера:
<hr>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- inarticles1 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-999999999999999999999"
     data-ad-slot="222222222222222"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<hr>Тут www.phpliveregex.com/ опробовал сладующее регулярное выражениеpreg_replace("/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is", "", $input_lines);оно работает — удаляет код без остаткаА при использовании ereplace с тем же выражением ни чего не вырезается ( в чанке test_banner_del приведенный выше код баннера)
{include 'test_banner_del'| ereplace : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' '}Может кто подскажет, что я делаю не так.Вопрос решен.
Т.к. регулярка не затрагивает ни чего кроме вырезаемого баннера, то поступил так:
{set $alltoRSS = $_modx->runSnippet('pdoResources', [
   ....
    ])}
    {$alltoRSS | ereplace : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' ' }На самом деле это продолжение мысли высказанной Володей.    Комментарии: 5
                сразу через include не получится.
сначала забейте переменную и потом к ней применяйте модификатор
                    сначала забейте переменную и потом к ней применяйте модификатор
{var $tmp}
  {include 'test_banner_del'}
{/var}
{$tmp| ereplace : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' '}            
                Спасибо, Володя! Да, так работает в случае с чанком.
Но тогда почему-то в другом чанке
                    Но тогда почему-то в другом чанке
<item>
	<title>{$pagetitle | strip_tags}</title>
	<link>[[+link]]</link>
	<description>[[+introtext:absURL:cdata]]</description>
	<pubDate>[[!ShowDate_en? &val=`[[+publishedon]]`]] +0300</pubDate>
	<guid>[[+link]]</guid>
	<yandex:full-text>
    {$introtext | strip_tags}
    {$content | ereplace  : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' '| strip_tags} 
    
	</yandex:full-text>
</item> тоже самое ни как не хочет            
                PS
по аналогии, отдельный документ, где баннер в тексте
Опять же, тут www.phpliveregex.com из текста указанная регулярка все нормально вырезает
                    по аналогии, отдельный документ, где баннер в тексте
{var $tmp2}
  {5318 | resource : 'content'}
{/var}
{$tmp2| ereplace : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' ' | strip_tags}так strip_tags отрабатывает, а регулярка нет…Опять же, тут www.phpliveregex.com из текста указанная регулярка все нормально вырезает
                Итого, если код баннера вместе с обтекающим текстом запихнуть в ресурс и вызвать 
Ибо проблема не в регулярке, а в том, что на рабочем проекте баннеры вставляются полями ContentBlocks, в полях чанки. Т.е. если из ContentBlocks, то чанк еще не успевает отрабатывать, а регулярка по всему контенту уже прошлась.

Пляшу с бубном, буду с плагинами играть, пробовал вот так :
                    {5375 | resource : 'content' | ereplace : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' '| strip_tags} — все нормально))Ибо проблема не в регулярке, а в том, что на рабочем проекте баннеры вставляются полями ContentBlocks, в полях чанки. Т.е. если из ContentBlocks, то чанк еще не успевает отрабатывать, а регулярка по всему контенту уже прошлась.

Пляшу с бубном, буду с плагинами играть, пробовал вот так :
<item>
	<title>{$pagetitle | strip_tags}</title>
	<link>[[+link]]</link>
	<description>[[+introtext:absURL:cdata]]</description>
	<pubDate>[[!ShowDate_en? &val=`[[+publishedon]]`]] +0300</pubDate>
	<guid>[[+link]]</guid>
	<yandex:full-text>
    
    {var $allcontent}
    {$introtext ~~ $content} 
    {/var}
    {$allcontent | ereplace  : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' '| strip_tags}
    
	</yandex:full-text>
</item>чуда не произошло.            
                Решено.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.