Получить post_title из объекта WordPress

Мне нравится анализировать HTML с регулярными выражениями. Я не пытаюсь разбирать идиот HTML, который намеренно нарушен. Этот код является моим основным парсером (версия Perl):

$_ = join "",; tr/\n\r \t/ /s; s//>\n/g; s/\n ?\n/\n/g;
s/^ ?\n//s; s/ $//s; print

Он называется htmlsplit, разбивает HTML на строки, с одним тегом или фрагментом текста в каждой строке. Затем линии могут быть обработаны другими текстовыми инструментами и сценариями, такими как grep , sed , Perl и т. Д. Я даже не шучу :) Наслаждайтесь.

Достаточно просто переписать мой скрипт Perl-all-first Perl в приятную поточную вещь, если вы хотите обрабатывать огромные веб-страницы. Но это действительно не обязательно.

Бьюсь об заклад, я заберусь для этого.

HTML Split


Против моего ожидая, что это получило некоторые upvotes, поэтому я предлагаю несколько правильных выражений:

/(<.*?>|[^<]+)\s*/g    # get tags and text
/(\w+)="(.*?)"/g       # get attibutes

Они хороши для XML / XHTML.

С небольшими вариациями он может справиться с беспорядочным HTML ... или сначала конвертировать HTML -> XHTML.


Лучший способ записи регулярных выражений - в Lex / Yacc стиль, а не непрозрачные однострочные или прокомментированные многострочные чудовища. Я не делал этого здесь; эти им едва ли нужны.

0
задан Kashif Rafique 17 January 2019 в 19:14
поделиться

1 ответ

Чтобы отобразить заголовок, вы можете сделать это <?php the_title(); ?> и поместить заголовок в переменную, вы можете сделать это $title = get_the_title();

для получения дополнительной информации: https: //developer.wordpress. org / reference / functions / get_the_title /

<?php
        $args = array(
            'post_type' => 'cases',
            'posts_per_page' => -1,
        );
        $the_query = new WP_Query( $args );
        if ( $the_query->have_posts() ):
            while ( $the_query->have_posts() ): $the_query->the_post();
                $case_title = get_the_title();
                echo $case_title;
                // or
                echo the_title();

                var_dump($the_query);
    ?>

    <?php endwhile; wp_reset_postdata(); endif;?>
0
ответ дан Remco Horters 17 January 2019 в 19:14
поделиться
Другие вопросы по тегам:

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