我试图返回帖子/页面内容中的所有链接,但我不知道如何让我的regex/循环正常工作。这是我目前所拥有的,当我print_r($matches)
. 非常感谢您的任何建议。如果我需要提供更多细节,请告诉我。
function find_all_links() {
// Let\'s get the posts
$the_query = new WP_Query( array(
\'posts_per_page\' => -1,
) );
if ( $the_query->have_posts() ) {
// Start a list
$results = \'<br><ul>\';
// For each list item...
while ( $the_query->have_posts() ) {
// Get the post
$the_query->the_post();
// Get the post content
$content = get_the_content();
preg_match_all("/<a\\s[^>]*href\\s*=\\s*([\\"\\\']??)([^\\"\\\' >]*?)\\\\1[^>]*>(.*)<\\/a>/siU", $content, $matches, PREG_SET_ORDER);
if (!empty($matches)) {
foreach ($matches as $match) {
$results .= \'<li> \'.$match.\' (<a href="\'.get_the_permalink().\'" target="_blank">\' . get_the_title() . \'</a>)</li>\';
}
}
}
// End the list
$results .= \'</ul>\';
} else {
// no posts found
$results = \'No posts found.\';
}
// Restore original Post Data
wp_reset_postdata();
return $results;
}