הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 23-12-10, 22:32   # 1
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

חייב פונצקציה פשוטה ב PHP!

שלום..
אני חייב פונקציה בPHP.
נגיד ואני נותן לו כתובת כזו:http://www.google.co.il
אני צריך שהוא יחזיר לי:google.co.il
נגיד ונתתי לו כתובת כזו:http://news.walla.co.il
אני צריך שהוא יחזיר:walla.co.il
או למקרה שהוא מקבל כזו:
http://www.youtube.com/watch?v=GfoUg...ure=grec_index
אני צריך שהוא יחזיר: youtube.com
בקיצור, אני צריך רק את הדומיין עצמו, בלי כל הדברים לפני ואחרי.
מקווה שזה אפשרי ואם לא אז משהו קרוב.
זה ממש יעזור לי, תודה!
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 23-12-10, 22:41   # 2
Shay Ben Moshe
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 1,397

Shay Ben Moshe לא מחובר  

http://php.net/manual/en/function.parse-url.php
__________________
שי בן משה - בונה אתרים
חותך אתרים, ומתכנת צד לקוח וצד שרת.
  Reply With Quote
ישן 23-12-10, 22:58   # 3
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

תודה..זה נראה משה נחמד אבל זה לא עושה מה שביקשתי..זה לא מפרק את הקישור כמו שאני רוצה..
הנה למשל:

PHP קוד:
<?php
$url 
'http://www.google.co.il';

print_r(parse_url($url));

echo 
parse_url($urlPHP_URL_PATH);
?>
זה מה שיוצא:
Array ( [scheme] => http [host] => www.google.co.il )

תודה רבה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 23-12-10, 22:59   # 4
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

והבעיה איפה?

תוציא כפלט את ערך התא host והכל עובד יופי.


עריכה: אתה יכול גם לשלוח כFLAG את PHP_URL_HOST. זה יעשה בשבילך אפילו את העבודה השחורה שנשארה.
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 23-12-10, 23:03   # 5
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

אבל איפה בדיוק אני קובע שאני רוצה לקבל את host?
אני גם רוצה לקבל רק google.co.il
בלי www.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 23-12-10, 23:15   # 6
Hagaibl
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2010
הודעות: 214

Hagaibl לא מחובר  

נתנו לך פה פונקציה אשר מקבל URL כפרמטר ומחזירה מערך של נתונים שהוצאו מן הURL.
במידה ואתה יודע איך לשלוף מידה ספציפי מן מערך פשוט תשלוף את המידה המאוחסן בתא host.
__________________
בברכה,
חגי בלוך גדות.
  Reply With Quote
ישן 23-12-10, 23:30   # 7
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

ציטוט:
נכתב במקור על ידי dor77 צפה בהודעה
אבל איפה בדיוק אני קובע שאני רוצה לקבל את host?
אני גם רוצה לקבל רק google.co.il
בלי www.
אז תעיף את הwww עם str_replace/preg_replace/explode/substr או כל פונקציה אחרת שעולה לך בראש.
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 24-12-10, 00:27   # 8
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

ציטוט:
נכתב במקור על ידי Hagaibl צפה בהודעה
נתנו לך פה פונקציה אשר מקבל URL כפרמטר ומחזירה מערך של נתונים שהוצאו מן הURL.
במידה ואתה יודע איך לשלוף מידה ספציפי מן מערך פשוט תשלוף את המידה המאוחסן בתא host.
זה מה שאני שואל, איך ניתן לעשות זאת? איפה אני כותב שאני מעוניין בהוסט?

תודה על העזרה מעריך את זה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 24-12-10, 01:29   # 9
Ender
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2007
הודעות: 76

Ender לא מחובר  

קוד:
function get_base_domain($url)
{
$url = strtolower($url);
$debug = 0;
$base_domain = '';

// generic tlds (source: http://en.wikipedia.org/wiki/Generic_top-level_domain)
$G_TLD = array(
'biz','com','edu','gov','info','int','mil','name','net','org',
'aero','asia','cat','coop','jobs','mobi','museum','pro','tel','travel',
'arpa','root',
'berlin','bzh','cym','gal','geo','kid','kids','lat','mail','nyc','post','sco','web','xxx',
'nato',
'example','invalid','localhost','test',
'bitnet','csnet','ip','local','onion','uucp',
'co' // note: not technically, but used in things like co.uk
);

// country tlds (source: http://en.wikipedia.org/wiki/Country_code_top-level_domain)
$C_TLD = array(
// active
'ac','ad','ae','af','ag','ai','al','am','an','ao','aq','ar','as','at','au','aw','ax','az',
'ba','bb','bd','be','bf','bg','bh','bi','bj','bm','bn','bo','br','bs','bt','bw','by','bz',
'ca','cc','cd','cf','cg','ch','ci','ck','cl','cm','cn','co','cr','cu','cv','cx','cy','cz',
'de','dj','dk','dm','do','dz','ec','ee','eg','er','es','et','eu','fi','fj','fk','fm','fo',
'fr','ga','gd','ge','gf','gg','gh','gi','gl','gm','gn','gp','gq','gr','gs','gt','gu','gw',
'gy','hk','hm','hn','hr','ht','hu','id','ie','il','im','in','io','iq','ir','is','it','je',
'jm','jo','jp','ke','kg','kh','ki','km','kn','kr','kw','ky','kz','la','lb','lc','li','lk',
'lr','ls','lt','lu','lv','ly','ma','mc','md','mg','mh','mk','ml','mm','mn','mo','mp','mq',
'mr','ms','mt','mu','mv','mw','mx','my','mz','na','nc','ne','nf','ng','ni','nl','no','np',
'nr','nu','nz','om','pa','pe','pf','pg','ph','pk','pl','pn','pr','ps','pt','pw','py','qa',
're','ro','ru','rw','sa','sb','sc','sd','se','sg','sh','si','sk','sl','sm','sn','sr','st',
'sv','sy','sz','tc','td','tf','tg','th','tj','tk','tl','tm','tn','to','tr','tt','tv','tw',
'tz','ua','ug','uk','us','uy','uz','va','vc','ve','vg','vi','vn','vu','wf','ws','ye','yu',
'za','zm','zw',
// inactive
'eh','kp','me','rs','um','bv','gb','pm','sj','so','yt','su','tp','bu','cs','dd','zr'
);


// get domain
if ( !$full_domain = get_url_domain($url) )
{
	return $base_domain;
}

// now the fun
if(substr($full_domain, -1) == ".")
{
	$full_domain = substr($full_domain, 0, -1); 
}

// break up domain, reverse
$DOMAIN = explode('.', $full_domain);
if ( $debug ) print_r($DOMAIN);
$DOMAIN = array_reverse($DOMAIN);
if ( $debug ) print_r($DOMAIN);

// first check for ip address
if ( count($DOMAIN) == 4 && is_numeric($DOMAIN[0]) && is_numeric($DOMAIN[3]) )
{
return $full_domain;
}

// if only 2 domain parts, that must be our domain
if ( count($DOMAIN) <= 2 ) return $full_domain;

/*
finally, with 3+ domain parts: obviously D0 is tld
now, if D0 = ctld and D1 = gtld, we might have something like com.uk
so, if D0 = ctld && D1 = gtld && D2 != 'www', domain = D2.D1.D0
else if D0 = ctld && D1 = gtld && D2 == 'www', domain = D1.D0
else domain = D1.D0
these rules are simplified below
*/
if ( in_array($DOMAIN[0], $C_TLD) && in_array($DOMAIN[1], $G_TLD) && $DOMAIN[2] != 'www' )
{
$full_domain = $DOMAIN[2] . '.' . $DOMAIN[1] . '.' . $DOMAIN[0];
}
else
{
$full_domain = $DOMAIN[1] . '.' . $DOMAIN[0];;
}

// did we succeed?
return $full_domain;
}


// get domain from url
function get_url_domain($url)
{
$domain = '';

$_URL = parse_url($url);

// sanity check
if ( empty($_URL) || empty($_URL['host']) )
{
$domain = '';
}
else
{
$domain = $_URL['host'];
}

return $domain;
}
  Reply With Quote
ישן 24-12-10, 11:28   # 10
Hagaibl
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2010
הודעות: 214

Hagaibl לא מחובר  

אני רואה שאתה לא מבין בתיכנות בPHP כלל.
אז הינה הקוד הפשוט.
לא תקבל יותר מזה, אני חורג פה ממנהגי לחלוטין.
PHP קוד:
<?php
$url 
prase_url("http://www.hosts.co.il/index.php");
echo 
"The domain of this site is:" $url['host'];
?>
__________________
בברכה,
חגי בלוך גדות.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 17:56.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ