2014-10-18 3 views
-1

Мне нужно извлечь все hrefs с указанным доменным именем, содержащимся в ссылках моего содержания Wordpress.Получить список URL-адресов внутри сообщений Wordpress

Пример для доменного имени "stackoverflow.com":

Есть ли способ делать это через MySQL-запрос или PHP-скрипт?

Заранее спасибо

+0

Привет, Я пробовал с PHP-скриптом, который анализирует все сообщения в цикле и получает URL-адреса внутри контента с регулярным выражением. Но это работает не очень хорошо ... – Francesco

+0

Не стесняйтесь показывать нам этот код, тогда мы сможем определить, что происходит не так. Вот как работает «СО», а не вы даете свои спецификации, и сообщество решает его для вас. – Kypros

ответ

0

Может быть, я нашел решение:

  1. Создать Wordpress страницы под названием "Ссылка"
  2. Создать PHP файл с именем "страница-links.php" в использованном тема папки с ТИС кодом внутри:

    function getUrls($string) 
    { 
        $regex = '/https?\:\/\/[^\" ]+/i'; 
        preg_match_all($regex, $string, $matches); 
        return ($matches[0]); 
    } 
    
    $the_query = new WP_Query('posts_per_page=-1'); 
    while ($the_query->have_posts()) 
    { 
        $the_query->the_post(); 
        $_post_id = get_the_id(); 
        $_post_content = get_post_field('post_content', $_post_id); 
    
        $urls = getUrls($_post_content); 
    
        foreach($urls as $url) 
        { 
         if (substr($url, 0, 24) == "http://stackoverflow.com") 
          echo $url . '<br />'; 
        } 
    
    } 
    
    wp_reset_postdata(); 
    

Затем вызовите страницу Wordpress в bowser. Таким образом будут напечатаны все URL-адреса с доменом «stackoverflow.com», находящиеся внутри сообщения.

Смежные вопросы