Вывод случайных кейвордов из базы на сайте.

Dos3
На сайте с 07.01.2011
Offline
363
#31

так тебе через js надо это делать, это не ко мне))

dr_Min
На сайте с 29.07.2008
Offline
101
#32

Нет! Мне нужен php :)

Dos3
На сайте с 07.01.2011
Offline
363
#33
dr_Min:
Нет! Мне нужен php :)

ну пиши тогда подробно что, куда, чего)

dr_Min
На сайте с 29.07.2008
Offline
101
#34
Dos3:
ну пиши тогда подробно что, куда, чего)

В прошлых постах писал уже, но попробую подробнее)

1) Инклюдим php скрипт в шаблон.

2) Скрипт должен парсить титл странички с которой он исполняется.

3) Если в титле найдена маска, то грузим html код принадлежащий маске. (маску и html код указываем в скрипте)

Маски это части кейворда, например в ключе "играть в игру world of tanks бесплатно без регистрации" присутствует маска world of tanks.

В скрипте указываем маски, например маска world of tanks далжна выдавать html код который мы привязали к этой маске.

Желательно, чтобы скрипт мог выгружать то, что ему укажешь. Например для одной маски привязали html код, а для какойто просто ссылку.

маски могут быть написаны как латиницей, так и керилицей.

Если чесно, я думал, что ктонибудь в личку мне этот ротатор скинет и все ибо есть готовое решение. Был у меня такой, но потерял. Название скрипта не помню...

Dos3
На сайте с 07.01.2011
Offline
363
#35


<?php

$arr_search["алавар"] = "http://blabla";
$arr_search["gusi"] = "http://gusi";

$f = fopen($_SERVER["SCRIPT_FILENAME"], 'r');

$str = fread($f, 1000);

fclose($f);

foreach($arr_search as $key => $val)
{
if(stristr($str, $key))
{
break;
}
/*
if(preg_match("#<title>.*$key.*</title>#U", $str))
{
break;
}
*/
}

//echo $val;

?>

где нужно выводи $val

---------- Добавлено 14.01.2015 в 21:39 ----------

dr_Min:
Если чесно, я думал, что ктонибудь в личку мне этот ротатор скинет и все

тоже вариант, жди, может кто то и скинет...

J
На сайте с 06.07.2011
Offline
169
#36
Dos3:
выше уже есть, примерно так
<?
$text=file("file.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$col_str = count($text)-1;
?>

<?
echo $text[rand(0,$col_str)]."<br />";
echo $text[rand(0,$col_str)]."<br />";
echo $text[rand(0,$col_str)]."<br />";
?>
."<br />" - это убрать если перенос строки не нужен

А если немного усложнить задачу.. В каждом файлике file.txt, file1..2.txt есть значение: key1, key2, key3

Как сделать так что бы скрипт подставлял значение вместо key1, kty2 или key3 другой кейворд..

Для примера: file.txt - файл с длинными кейвордами:

Продажа дорогих key1 машин
Продажа красивых key2 автомобилей

файл key1.txt с короткими кейвордами:

американских
надёжных
супер

файл key2.txt с короткими кейвордами:

старых
красных
синих

Соответственно скрипт должен вывести что-то на подобе этого:

Продажа дорогих надёжных машин
Продажа красивых старых автомобилей

Т.е. задача идёт что бы возможность подстановки в файлах была тоже.

Dos3
На сайте с 07.01.2011
Offline
363
#37

ну и вставляй так

echo $text[rand(0,$col_str)]." ".$text2[rand(0,$col_str2)]." ".$text3[rand(0,$col_str3)];

какие ещё замены в файлах)

или нагенери сначала ключей, потом уже их юзай

J
На сайте с 06.07.2011
Offline
169
#38
Dos3:
ну и вставляй так
echo $text[rand(0,$col_str)]." ".$text2[rand(0,$col_str2)]." ".$text3[rand(0,$col_str3)];

какие ещё замены в файлах)

или нагенери сначала ключей, потом уже их юзай

Имелось ввиду, что подстановка будет в файлах тоже:

$text=file("file.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);

Dos3
На сайте с 07.01.2011
Offline
363
#39
jano:
Имелось ввиду, что подстановка будет в файлах тоже:
$text=file("file.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);

что значит подстановка в файлах ? )) один раз ? в чём смысл ? :)

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#40

Отпишусь тут по поводу shuffle($text);

Сделал тесты на крупном проекте. Скажу так, не делайте как я писал, и никогда не мешайте в цикле или просто много раз shuffle($text) не нужно делать.

С каждым таким перемешиванием, почему-то массив увеличивается в разы, и операция с каждым разом всё идёт тормознее и тормознее. Я не видел исходники данной функции, но могу сказать, что жрёт она ресурсов достаточно много, если пользоваться ей часто.

---------- Добавлено 21.01.2015 в 18:47 ----------

Так же тут уже писали вариант:

<?
$text=file("file.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$col_str = count($text)-1;
?>

<?
echo $text[rand(0,$col_str)]."<br />";
echo $text[rand(0,$col_str)]."<br />";
echo $text[rand(0,$col_str)]."<br />";
?>
."<br />" - это убрать если перенос строки не нужен

рекомендую заменить rand на mt_rand

1. mt_rand более рандомный и правильный

2. Из документации функции RAND:

Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры min и max, или обратитесь к функции mt_rand().
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий