PHP7, Что изменилось в закрытии/открытии тегов?

Yaponchick

Новичок
Переношу один сайт заказчика на WP. С fpm-php5.6 на fpm-php7.0.15.
Собственно... уже десяток лет с пхп дружу... А проблему так и не вижу, может кто ткнёт меня на changelog с изменениями для этого:

Код:
[23-May-2017 12:32:34 UTC] PHP Parse error:  syntax error, unexpected 'else' (T_ELSE), expecting end of file in ... on line 219
PHP:
<?php

add_shortcode( 'show_tags', 'show_category_tags_page' );
function show_category_tags_page( $atts ) {
    $data = shortcode_atts( array(
        'cat' => false
    ), $atts );

    if ( $data['cat'] ) {
        ob_start();
        $cat_tags = tags_to_array( $data['cat'] );

        ?>
        <ul>
            <?php foreach ( $cat_tags as $tag ): ?>
                <?php $current_tag = get_term_by( 'slug', $tag, 'post_tag' ); ?>
              
                <li><a href="<?php echo get_tag_link( $current_tag->term_id ); ?>"
                       title="<?php echo $current_tag->name; ?>">
                        <?php echo $current_tag->name; ?>
                    </a></li>
            <?php endforeach ?>
        </ul>
        <?php
# 219 строка следующая :)
    } else {
        echo 'Нужно указать рубрику, из которой будут выводиться теги: [show_tags cat=380]';
    }

    return ob_get_clean();
}
И да, если переписать без
Код:
?> <?php
то будет всё ок :(
 
Последнее редактирование:

Yaponchick

Новичок
Думаю можно закрыть... где-то тег потерялся до этого кода...

Update: Нашёл, там спрятался 1 short_open_tag, а редакторы всё нормально подсвечивали :(
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Код:
find . -xdev -type f -iname '*.php' -exec grep -qP '\<\?(?!\=)(?!php|xml)' '{}' \; -print
 

AnrDaemon

Продвинутый новичок
Затем, что 1. ни ack, ни ag не понимают PerlRE, 2. Предпочитаю минимум ошибок. И так кучу мусора выводит.
Всё он понимает, это я ступил…
Код:
$ ag --php '<\?(?!\=)(?!php|xml)'
smarty_internal_compile_private_php.php
126:        } elseif (strpos($lex->value, '<?') === 0) {
 
Последнее редактирование:
Сверху