Многие дорвейщики и сателлитчики, которые генерируют “сайты” в промышленных масштабах, сталкиваются с проблемой придумывания названий доменов для своих проектов. Разумеется, можно генерировать бредо-домены, типа 1fsf23rqwbze9g.ru, но поисковые системы не стоят на месте и рано или поздно этот баг они обязательно пофиксят. Я предлагаю простой, но в тоже время полезный скрип, который генерирует человеко понятные имена доменов.
Вот, собственно, и сам код:

<?php
function domengen($pattern){
 $out = '';
 $gl="aeiouy"; // список гласных букв
 $sg="bcdfghjklmnpqrstvwxz"; // список согласных букв
 $gl="aeiou"; // альтернативный список гласных букв
 $sg="bdfghklmnprstv"; // альтернативный список согласных букв
 $counter_gl = strlen($gl)-1;
 $counter_sg = strlen($sg)-1;
 for($k=0;$k<strlen($pattern);$k++){
  if($k>0){
   $letter=$prev_letter=$out{(strlen($out)-1)};
  }else{
   $letter=$prev_letter='';
  }
  if($pattern{$k}=="g"){
   while($letter==$prev_letter) $letter = $gl{rand(0,$counter_gl)};
   $out .= $letter;
  }
  if($pattern{$k}=="s"){
   while($letter==$prev_letter) $letter = $sg{rand(0,$counter_sg)};
   $out .= $letter;
  }
 }
 return $out;
}
echo domengen("sgsgsgsgs").".ru<br />";
echo domengen("sgssgssgg").".ru<br />";
echo domengen("sgsgssg").".ru<br />";
echo domengen("sggsssgss").".ru<br />";
?>

Скрипт работает очень просто: в качестве параметров к функции domengen нужно прописать шаблон, состоящий из набора гласных и согласных букв, где s – согласная и g – гласная.
На выходе получим строку собранную по указанному шаблону, причем двух, подряд идущих, одинаковых букв не будет. Вы можете прописывать любые шаблоны и получать на выходе более уникальные комбинации доменных имен. И еще, в качестве набора гласных и согласных букв я решил использовать не все буквы алфавита, а те что приписаны в альтернативном списке. В результате, получил более читабельные комбинации.

Leave a Reply