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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 15-03-14, 14:28   # 11
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

לעשות את זה לstart ו end או לקוט מקור שמוחזר מהפונקציה?
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 15-03-14, 14:58   # 12
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי dor77 צפה בהודעה
לעשות את זה לstart ו end או לקוט מקור שמוחזר מהפונקציה?
לקוד שמוחזר מהפונקציה, ואז ב start ו end שלך אתה תוכל להוריד את הירידות שורה
  Reply With Quote
ישן 15-03-14, 15:17   # 13
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

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

PHP קוד:
function get_source_code($url)
{
  
$ch curl_init();
  
$useragent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36";
  
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_HEADER0);
  
curl_setopt($chCURLOPT_USERAGENT$useragent);
  
curl_setopt($chCURLOPT_RETURNTRANSFER1);
  
  
$source_code curl_exec($ch);
  
  
curl_close($ch);
  
$source_code str_replace(array("\r""\n"), ''$source_code);

  return 
$source_code;

אבל עכשיו למשל, הורדתי את הירידות שורה אבל את הרווחים, הטאבים, אני אמור להשאיר אחרת זה לא עובד..
ככה:

PHP קוד:
$start '<li class="menu-item"><a href="#">PRODUCT</a>              <ul class="dropdown">                <li class="menu-item sub-menu"><a href="link.php">';
$end '</a></li>'
אין דרך יותר נוחה מאשר להקפיד להשאיר את הטאבים האלו?

תודה רבה לך, מעריך מאוד!
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 15-03-14, 16:15   # 14
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

טוב..הצלחתי..נראה לי יצא מאוד מסורבל..(אם תראה דרך לייעל, בכיף)..
מצרף את הקוד..
ותודה רבה לך.


PHP קוד:
function get_source_code($url)
{
  
$ch curl_init();
  
$useragent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36";
  
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_HEADER0);
  
curl_setopt($chCURLOPT_USERAGENT$useragent);
  
curl_setopt($chCURLOPT_RETURNTRANSFER1);
  
  
$source_code curl_exec($ch);
  
  
curl_close($ch);
  
$source_code str_replace(array("\r""\n"), ''$source_code);

  return 
$source_code;
}

$s_c get_source_code('http://www.bla.com');
$s_c preg_replace('~>\s+<~m''><'$s_c);

$start '<div id="menu">
            <ul class="menu">
                <li>'
;
$end '</li>';


$start preg_replace('~>\s+<~m''><'$start);
$end preg_replace('~>\s+<~m''><'$end);

preg_match('/'.preg_quote($start'/').'(.*?)'.preg_quote($end'/').'/is'$s_c$match);
echo 
$match[1]; 
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 15-03-14, 20:40   # 15
zoharesh
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 600

zoharesh לא מחובר  

למה לעבוד בצורה כזו?
תעבוד עם DOM Document
http://il1.php.net/manual/en/class.domdocument.php
__________________


HIGHDESIGN.co.il עיצוב ובניית אתרים.
  Reply With Quote
ישן 15-03-14, 20:50   # 16
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

ציטוט:
נכתב במקור על ידי zoharesh צפה בהודעה
למה לעבוד בצורה כזו?
תעבוד עם DOM Document
http://il1.php.net/manual/en/class.domdocument.php
אפשר לדעת מה הבעיה בשיטה הזו?
והאמת שלא מצאתי שם משהו שממש מתאים..יש לך דוגמא אולי?

תודה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 16-03-14, 01:04   # 17
zoharesh
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 600

zoharesh לא מחובר  

לא בדקתי, אבל משהו כזה אמור לעבוד:
PHP קוד:
<?php
$sc 
"<html>....."// source code here
$dom = new DOMDocument();
$dom->strictErrorChecking false// don't check for html errors
$dom->loadHTML($sc);
$menu $dom->getElementById('menu');
$li $menu->getElementsByTagName('li');
$final = [];
foreach(
$li as $l)
  
$final[] = $l->nodeValue;
יוציא לך את הטקסט של כל תגי ה-li במערך.

אפשר לשחק עם זה בכל מיני צורות וגם להוציא את הHTML עצמו ולא רק את הטקסט שבין התגים.

*לא בדקתי אבל אם אני לא טועה זה אמור לעבוד.
__________________


HIGHDESIGN.co.il עיצוב ובניית אתרים.
  Reply With Quote
ישן 16-03-14, 11:09   # 18
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי zoharesh צפה בהודעה
לא בדקתי, אבל משהו כזה אמור לעבוד:
PHP קוד:
<?php
$sc 
"<html>....."// source code here
$dom = new DOMDocument();
$dom->strictErrorChecking false// don't check for html errors
$dom->loadHTML($sc);
$menu $dom->getElementById('menu');
$li $menu->getElementsByTagName('li');
$final = [];
foreach(
$li as $l)
  
$final[] = $l->nodeValue;
יוציא לך את הטקסט של כל תגי ה-li במערך.

אפשר לשחק עם זה בכל מיני צורות וגם להוציא את הHTML עצמו ולא רק את הטקסט שבין התגים.

*לא בדקתי אבל אם אני לא טועה זה אמור לעבוד.
לעבוד עם DOM בצורה כזו זה מאוד גמיש וחזק, אבל קצת OVERKILL וצורך הרבה יותר משאבים למקרה הספציפי הזה מאשר ביטוי רגולארי פשוט
  Reply With Quote
ישן 16-03-14, 11:34   # 19
zoharesh
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 600

zoharesh לא מחובר  

אני לא בטוח במה שאתה אומר, יש לו שם 4 ביטויים רגולאריים.
יהיה מעניין לעשות ל2 הקודים השוואת ביצועים
__________________


HIGHDESIGN.co.il עיצוב ובניית אתרים.
  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. הזמן כעת הוא 18:13.

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