PDA

View Full Version : سوال: تشخصیص نام سایت با تابع preg_match() و شمارش و نمایش تعداد و نام سایت



hamidhassas
دوشنبه 10 شهریور 1393, 02: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, 09:14 صبح
برای بهینه بودن بهتره خود سایت ها رو تویهی جدول دیگه به شکل مورد نظرتون سیو کنید و بعد صفحاتی که بهتون لینک دادند رو تویه جدول دیگه ای سیو کنید تا هم بهینه تر باشه و هم کار شما ارحت تر باشه

hamidhassas
دوشنبه 10 شهریور 1393, 09: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, 18: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, 18: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, 19: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, 10:53 صبح
کسی نیست کمک کنه چطوری باید جلوی هر رکورد تعداد دفعاتشونم درج کنه :گریه::گریه:

hamidhassas
سه شنبه 11 شهریور 1393, 22:20 عصر
:متفکر::متفکر: