Вот разбираю скрипты.
Подскажите пожалуйста можно ли засунуть большое выражение в функцию, чтобы вызывать не все выражение, а только саму функцию.
Может что-то не то пишу. Учусь))
Вот код.
<?
include("sql.php");
// Делаем выборку из базы данных
$result = mysql_query("SELECT tag FROM posts");
$myrow = mysql_fetch_array($result);
// Запускаем цикл, в котром выведем все тэги через зщапятую
do
{
//Создатим переменную в котрую будем дописывать, все метки в одну строку через запятую
$tags .= $myrow['tag'].', ';
}
while($myrow = mysql_fetch_array($result));
// Разобъем строку $tags на элементы массива, а в качестве разделителя будем использовать запятую
$tag = explode(',',$tags);
$tag = array_unique($tag);
foreach ($tag as $val)
{
preg_match_all ('/'.$val.'/', $tags, $matches);
$metka[$val] = count($matches[0]);
}
arsort($metka);
$metka = array_slice($metka, 1, 10); // выбираем первые 10 элементов массива
$i = 0;
foreach($metka as $key => $val)
{
$i++;
$link[] = '<a href="search.php?search='.$key.'" class="tag_'.$i.'">'.$key.'</a> ';
}
shuffle($link);
echo '<div class="post">';
foreach($link as $tag)
{
echo $tag;
}
echo '</div>';
?>