• Не ищет по рег. выражению. Смысл такой: хочу <div> (виджет Элементора) со вложенными тэгами, многострочный – полностью выкинуть и заменить на кнопку.

    function yturbo_add_data( $content ) {
    
    	//кнопки "позвонить"
            $pattern='/<div class="elementor-button-wrapper">(.*?)<\/div>/i';
            $replacement='<button formaction="tel:+79999999999" data-background-color="#339966" data-color="white" data-primary="true">ПОЗВОНИТЬ</button>';
    
    
    
    	$content = preg_replace($pattern, $replacement, $content);
    
    
    	return $content;
    }
    add_filter( 'yturbo_the_content', 'yturbo_add_data' );
    

    Что в регулярке неверно?

Viewing 3 replies - 1 through 3 (of 3 total)
  • Thread Starter Alex Miller

    (@leskei)

    <div class="elementor-button-wrapper">
    			<a href="tel:+7%20(999)%20997-77-66" class="elementor-button-link elementor-button elementor-size-md" role="button"><br />
    						<span class="elementor-button-content-wrapper"><br />
    						<span class="elementor-button-text">Позвонить</span><br />
    		</span><br />
    					</a>
    		</div>

    Вот, на всякий случай, код “под замену”. Его нужно выкинуть – и на кнопку заменить

    Thread Starter Alex Miller

    (@leskei)

    Прошу: не пинать, понять и простить ??

    Соорудил (из го$на, палок – и с помощью regex101 (точка) com) работающую регулярку:

            $pattern='/<div class=\"elementor-button-wrapper\">\n(.*?\n)?(.*?\n)?(.*?\n)?(.*?\n)?(.*?\n)?(.*?\n)?/m';
    

    Как её поэлегантнее реализовать?

    • This reply was modified 1 year, 8 months ago by Alex Miller.
    Plugin Author Flector

    (@flector)

    модификатор i на s поменяйте:

    function yturbo_add_data( $content ) {
    
    	//кнопки "позвонить"
            $pattern='/<div class="elementor-button-wrapper">(.*?)<\/div>/s';
            $replacement='<button formaction="tel:+79999999999" data-background-color="#339966" data-color="white" data-primary="true">ПОЗВОНИТЬ</button>';
    
    	$content = preg_replace($pattern, $replacement, $content);
    
    	return $content;
    }
    add_filter( 'yturbo_the_content', 'yturbo_add_data' );
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘не срабатывает рег. выражение’ is closed to new replies.