הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   מערכת טאגים שבניתי - עזרה (https://hosts.co.il/forums/showthread.php?t=42714)

Hanan 03-04-07 13:38

מערכת טאגים שבניתי - עזרה
 
שלום חברים,
בניתי איזשהו קוד אתמול לפני ליל הסדר (זה היה די זריז אז אולי פספסתי משהו.. בשביל זה אני מתייעץ איתכם) שהמטרה שלו זה לבדוק קוד מסויים ולחפש טאגים <intercs...></intercs> ולהחליף בהתאם.
הבעיה נובעת מכך שמשומה שאני עושה בסוף הפונקציות return $HtmlContent; הדף בטעינה שלו נתקע אבל אם אני שם במקום ה return $HtmlContent; את השורה: echo $HtmlContent; הקוד עובד.. עכשיו "למה אתה לא שם אז echo?" כי אני לא רוצה להדפיס את התוצאה אלא רק לשמור במשתנה.

אשמח לסיוע.

להלן הקוד:
PHP קוד:

<?php
function intercsTags($HtmlContent) {

    
$TagStart = strtolower("<intercs");
    
$TagEnd = strtolower("></intercs>");

    while(
preg_match("/<intercs (.*)><\/intercs>/i", $HtmlContent, $match)) {

        
$outMatch=$TagStart." ".$match[1].$TagEnd;
    
        
$Cmatch=$match[1];

        
$Cmatch = str_replace('"','', $Cmatch); 
        
$Cmatch = str_replace("'","", $Cmatch);
    
        
$exp=explode(" ",$Cmatch); $expCount=count($exp); 
    
        
$TagsArray=Array();
    
        for(
$i=0; $i <= $expCount-1; $i++) {
                
$expArray = explode("=",$exp[$i]);
                
$TagsArray[strtolower($expArray[0])] .= strtolower($expArray[1]);
        }
    

            switch (
$TagsArray['content']) {
                case 
"articel":
                    
$HtmlContent = str_replace($outMatch, "Articel!!!", $HtmlContent);
                    break;
    
                default:
                    
$HtmlContent = intercsUnSupported($HtmlContent, $outMatch,$TagsArray['content']);
                    break;
            }

        }
    return  
$HtmlContent;
}

function 
intercsUnSupported($HtmlContent, $outMatch, $TagsArray) {
    
$HtmlContent = str_replace($outMatch,"<intercs ".$TagsArray."=UnSupported></intercs>" ,$HtmlContent);
    return 
$HtmlContent;
}

$content = '';
$content = '<html>
    <body>
        <title>rofl</title>
        welcome to my <intercs content=articel prop=5></intercs>
            <br>
        <intercs content=articels prop=5></intercs>
    </body>
</html>'
;

$HtmlContent=intercsTags($content);

echo 
$HtmlContent;
?>


Gal Shafrir 03-04-07 16:44

תנסה לעשות ככה:

PHP קוד:

$echo = "echo $HtmlContent" 

ואז לעשות:

PHP קוד:

eval($echo) 


Hanan 03-04-07 16:51

לא משנה הסתדרתי. תודה.

Tomer 03-04-07 16:59

ננעל..


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

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