[Ищу] Ссылки в тексте

Тема в разделе "SEO Скрипты", создана пользователем Armany, 11 дек 2009.

Статус темы:
Закрыта.
  1. Armany

    Armany

    Регистр.:
    10 мар 2008
    Сообщения:
    181
    Симпатии:
    28
    Добрый день! Чем можно реализовать следующее:
    есть кусок текста и есть ссылки вида <a>анкор</a> <a>анкор2</a>, необходимо чтобы перемешало данные ссылки в тексте и вместо анкоров сгенерило какой-то текст типа "qwesda" "iooipip"
     
  2. Rombl4

    Rombl4 Постоялец

    Регистр.:
    9 май 2008
    Сообщения:
    60
    Симпатии:
    15
    Для перемешивания KeywordKeeper, для остального надо скрипт писать.
     
  3. Armany

    Armany

    Регистр.:
    10 мар 2008
    Сообщения:
    181
    Симпатии:
    28
    да просто перемешать не проблема, даже в тексте перемешать не проблема, как бы сгенерировать для списка ссылок случайные слова
     
  4. Rombl4

    Rombl4 Постоялец

    Регистр.:
    9 май 2008
    Сообщения:
    60
    Симпатии:
    15
    Попроси любого кодера, за пару-тройку вмз накатают скрипт, если так нужен.
     
  5. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    Armany, приведи конкретный пример списка ссылок и конкретный пример того, что ты хочешь получить на выходе. Или ссылки действительно вида <a>text</a>? Тогда вообще просто - генерить определенное количество рандомных строк, обрамленных <a> и </a>. Писать 2 минуты :)
     
  6. Armany

    Armany

    Регистр.:
    10 мар 2008
    Сообщения:
    181
    Симпатии:
    28
    смотри, у меня есть ссылки вида
    <a href=http://site.com>tttteret</a>
    <a href=http://site.com>gjhgjh</a>
    <a href=http://site.com>treyrtwye</a>

    нужно чтобы на выходе получилось следующее:
    есть текст текст текст <a href=http://site.com>вместо анкора генеренный какой-то текст</a>текст текст текст текст текст текст текст текст<a href=http://site.com>вместо анкора генеренный какой-то текст</a>текст текст текст текст текст текст текст текст <a href=http://site.com>treyrtwye</a>текст текст текст текст
     
  7. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    В общем, если замешивать линки в тексте не проблема и ключевой момент - изменение анкоров, то есть 2 варианта решения задачи: изменять анкоры на случайную последовательность символов до вставки их в текст, или уже после размешивания в тексте. Я пока сделал вариант "до вставки в текст". Саму вставку в текст не делал - там есть дополнительные вопросы. Так что пока держи скрипт, который возьмет все ссылки из файла links.txt, поменяет им анкоры на набор случайных символов и положит в result.txt. Набор символов можешь менять как угодно - изменяя переменную $chars в функции rand_str($length).
    PHP:
    <?php
      $links 
    file("links.txt");
      
    $pattern '/(<a.*?>)(.*?)(<\/a\s*>)/i';
      foreach (
    $links as $k => $v ) {
          
    $replacement '$1'.rand_str(mt_rand(5,10)).'$3';
          
    $new_links[] = preg_replace$pattern$replacementtrim($v));
      }
      
    file_put_contents("result.txt"implode("\r\n"$new_links));
      function 
    rand_str$length ){
          
    $chars 'qwertyuioplkjhgfdsazxcvbnm';
          for (
    $i 0$i $length$i++) {
              
    $string .= $chars[mt_rand(0strlen($chars)-1)];
          }
          return 
    $string;
      }
    ?>
     
    Armany нравится это.
  8. Armany

    Armany

    Регистр.:
    10 мар 2008
    Сообщения:
    181
    Симпатии:
    28
    молодчина, в принципе уже данный вариант можно использовать. Огромное спасибо.

    Добавлено через 2 минуты
    супер, спасибо тебе добрый человек!
     
  9. Armany

    Armany

    Регистр.:
    10 мар 2008
    Сообщения:
    181
    Симпатии:
    28
    еще такой вопросец, не мог бы сделать чтобы твой скриптик был на странице где есть два тексовых поля и кнопка обработать, типа:

    |______________|

    |______________| и кнопка | обработать |

    чтобы в первое поле вставил ссылки, нажал на кнопку обработать и результат забрал во втором поле уже обработанные, ну это уже как пожелание, если не трудно.
     
  10. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    PHP:
    <html>
    <head>
      <title>Anchor's randomizer</title>
    </head>
    <body>
    <?php
        
    if (@$_POST['go'] == 'Start' ) {
          
    $source_links $_POST['sourceLinks'];
          
    $links explode("\n"$source_links);
          
    $pattern '/(<a.*?>)(.*?)(<\/a\s*>)/i';
          foreach (
    $links as $k => $v ) {
              
    $replacement '$1'.rand_str(mt_rand(5,10)).'$3';
              
    $new_links[] = preg_replace$pattern$replacementtrim($v));
          }
          
    $result implode("\n"$new_links);
        }
        function 
    rand_str$length ){
              
    $string '';
              
    $chars 'qwertyuioplkjhgfdsazxcvbnm';
              for (
    $i 0$i $length$i++) {
                  
    $string .= $chars[mt_rand(0strlen($chars)-1)];
              }
              return 
    $string;
        }
    ?>
        <div align="center">
            <form name="main" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
                <textarea name="sourceLinks" rows=20 cols=40><?php echo stripslashes(@$source_links)?></textarea>
                <textarea name="resultLinks" rows=20 cols=40><?php echo stripslashes(@$result)?></textarea><br /><br />
                <input type="submit" value="Start" name="go">
            </form>
        </div>
    </body>
    </html>
     
Статус темы:
Закрыта.