View Full Version : سوال: تشخصیص نام سایت با تابع preg_match() و شمارش و نمایش تعداد و نام سایت
hamidhassas
دوشنبه 10 شهریور 1393, 03:25 صبح
من نام سایت هایی که به سایتم لینک میشن رو در دیتابیس زخیره کردم حالا میخوام کاری کنم که به ترتیب اول نام سایت بدون http://www. , http:///, https://www. , https:// اول لیست بشن بر اساس بیشترین دفعات تکرار و حداکثر 10 سایت لیست بشه و بعد در جلو هر کدوم تعداد دفعات تکرار شدنشون رو بنویسه با هر ادرسی میخواد باشه فقط اینجوری barnamenevis.org مهمه قبل و بعد آدرسش هرچی میخواد باشه
نام جدول:statistic
web_site
url_address
id
barnamenevis.org
http://barnamenevis.org/newthread.php?do=newthread&f=30
1
www.barnamenevis.org
http://www.barnamenevis.org/newthread.php?do=newthread&f=30
2
www.google.com
https://www.google.com
3
hassas-computer.com
http://hassas-computer.com
4
www.google.com
http://www.google.com/asdkj%0asd9/khjadh%sfdsf
5
www.barnamenevis.org
http://www.barnamenevis.org/newthread.php?do=newthasdread&f=3asd0
6
map.google.com
https://map.google.com
7
barnamenevis.org
http://barnamenevis.org/forumdisplay.php?30-PHP
8
barnamenevis.org
http://barnamenevis.org/newthread.php?do=newthread&f=30
9
barnamenevis.org
http://barnamenevis.org/newthread.php?do=newthread&f=30
10
barnamenevis.org
http://barnamenevis.org/newthread.php?do=newthread&f=30
11
google.com
https://google.com/ljsdfjlhfsdf
12
m.facebook.com
http://m.facebook.com/dfgdfgdfgdfg
13
translate.google.com
https://translate.google.com
14
shop.hassas-computer.com
http://shop.hassas-computer.com/index.php?id_category=3&controller=category
15
خوب میخوام اینجوری نمایش داده بشه
نام سایت
تعداد رکورد
barnamenevis.org
7
google.com
5
hassas-computer.com
2
facebook.com
1
لطفا کد هایی گه میزارید رو کامل درج کنید و توضیحاتشم بدیدن یاد بگیرم
prans.info
دوشنبه 10 شهریور 1393, 10:14 صبح
برای بهینه بودن بهتره خود سایت ها رو تویهی جدول دیگه به شکل مورد نظرتون سیو کنید و بعد صفحاتی که بهتون لینک دادند رو تویه جدول دیگه ای سیو کنید تا هم بهینه تر باشه و هم کار شما ارحت تر باشه
hamidhassas
دوشنبه 10 شهریور 1393, 10:42 صبح
برای بهینه بودن بهتره خود سایت ها رو تویهی جدول دیگه به شکل مورد نظرتون سیو کنید و بعد صفحاتی که بهتون لینک دادند رو تویه جدول دیگه ای سیو کنید تا هم بهینه تر باشه و هم کار شما ارحت تر باشه
================================================== ================================================== =============
خوب من چطوری نام سایت رو بدست بیارم کد زیر رو دارم ولی درست عمل نمیکنه
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'https://s.gigabyte.co.tw/dftfd/ertoiert./weropi', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
{
echo $siteName[2].'.'.$siteName[3];
}
elseif(mb_strlen($siteName[4]) >= 1 && mb_strlen($siteName[4]) <= 3)
{
echo $siteName[2].'.'.$siteName[3].''.$siteName[4];
}
else
{
echo $siteName[3].$siteName[4];
}
حل شد
================================================== ================================================== ==============
bagherok
دوشنبه 10 شهریور 1393, 19:04 عصر
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'http://hassas-computer.com/main.php?view=dashboard&active=1', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
echo $siteName[2].'.'.$siteName[3];
else echo $siteName[3].$siteName[4];
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'https://hassas-computer.com/main.php?view=dashboard&active=1', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
echo $siteName[2].'.'.$siteName[3];
else echo $siteName[3].$siteName[4];
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'http://www.hassas-computer.com/main.php?view=dashboard&active=1', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
echo $siteName[2].'.'.$siteName[3];
else echo $siteName[3].$siteName[4];
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'http://shop.hassas-computer.com/main.php?view=dashboard&active=1', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
echo $siteName[2].'.'.$siteName[3];
else echo $siteName[3].$siteName[4];
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'https://www.hassas-computer.com/main.php?view=dashboard&active=1', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
echo $siteName[2].'.'.$siteName[3];
else echo $siteName[3].$siteName[4];
خروجی :
Array
(
[0] => http://hassas-computer.com
[1] => http://
[2] => hassas-computer
[3] => com
[4] =>
)
hassas-computer.com
Array
(
[0] => https://hassas-computer.com
[1] => https://
[2] => hassas-computer
[3] => com
[4] =>
)
hassas-computer.com
Array
(
[0] => http://www.hassas-computer.com
[1] => http://www.
[2] => hassas-computer
[3] => com
[4] =>
)
hassas-computer.com
Array
(
[0] => http://shop.hassas-computer.com
[1] => http://
[2] => shop
[3] => hassas-computer
[4] => .com
)
hassas-computer.com
Array
(
[0] => https://www.hassas-computer.com
[1] => https://www.
[2] => hassas-computer
[3] => com
[4] =>
)
hassas-computer.com
hamidhassas
دوشنبه 10 شهریور 1393, 19:45 عصر
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'http://hassas-computer.com', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
echo $siteName[2].'.'.$siteName[3];
else echo $siteName[3].$siteName[4];
Array
(
[0] => http://hassas-computer.com
[1] => http://
[2] => hassas-computer
[3] => com
[4] =>
)
hassas-computer.com
الان تو این کدی که شما قرار داده اید اگر آدرس سایت زیر رو وارد کنید به اشتباه پسوند اون چاپ میشه
hassas-computer.net.tf
رو به صورت
.net.tf
چاپ میکنه
preg_match('#(http://www.|https://www.|https://|http://|www.)([^.]*).([^.|/]*)?([^/]*)#i', 'https://s.gigabyte.co.tw/dftfd/ertoiert./weropi', $siteName);
echo '<pre>'. print_r($siteName,true).'</pre>';
if(empty($siteName[4]))
{
echo $siteName[2].'.'.$siteName[3];
}
elseif(mb_strlen($siteName[4]) >= 1 && mb_strlen($siteName[4]) <= 3)
{
echo $siteName[2].'.'.$siteName[3].''.$siteName[4];
}
else
{
echo $siteName[3].$siteName[4];
}
حل شد
hamidhassas
دوشنبه 10 شهریور 1393, 20:45 عصر
من با کد زیر تعداد رکورد هایی رو که بیتشرین تکرار رو دارن لیست میکنم اما نمیدونم چطوری باید تعداد هر کدومم چاپ کنم
<?php
$result_20=mysql_query("SELECT `web_site`,count(`web_site`) as `count` FROM `statistic` where `date`='".$Y."/".$M."/10' group by `web_site` having count(*) >= 1 ORDER BY `count` DESC LIMIT 0 , 10")or die(mysql_error());
while ($max_company_record_1=mysql_fetch_array($result_2 0))
{
echo "".$max_company_record_1['web_site']."<br>";
}
?>
hamidhassas
سه شنبه 11 شهریور 1393, 11:53 صبح
کسی نیست کمک کنه چطوری باید جلوی هر رکورد تعداد دفعاتشونم درج کنه :گریه::گریه:
hamidhassas
سه شنبه 11 شهریور 1393, 23:20 عصر
:متفکر::متفکر:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.