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

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

Acid-Burn 30-10-12 23:51

בעיה עם SPLIT ב PHP 5.3
 
היי,
יש לי את הקוד הבא

function findExtension ($filename)
{
$filename = strtolower($filename) ;
$exts = split("[/\\.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}

עכשיו ב PHP 5.3 הוא מריץ שגיאה כי אין יותר SPLIT
חרשתי את גוגל אבל לא מצאתי פתרון להחלפה למישהו יש מושג למה צריך להחליף את זה ???

תודה.

Tomer 31-10-12 00:15

בדוק לגבי preg_split

אדיר 31-10-12 00:18

התשובה הכי טובה שתוכל לקבל:

split is deprecated since it is part of the family of functions which make use of POSIX regular expressions; that entire family is deprecated in favour of the PCRE (preg_*) functions.

If you do not need the regular expression functionality, then explode is a very good choice (and would have been recommended over split even if that were not deprecated), if on the other hand you do need to use regular expressions then the PCRE alternate is simply preg_split.

מתוך: http://stackoverflow.com/questions/2...it-alternative

Acid-Burn 31-10-12 00:36

ראיתי את זה , הבעיה שאני לא יודע להשתמש ב explode או preg_split וצריך לשנות תשורה שתתאים איכשהוא לפונקציות האלה.
כיוון שהם לא מקבלים את אותם הפרמטרים כמו split .

אדיר 31-10-12 00:54

אם ככה הבעיה היא שאתה לא יודע PHP, לא שאין תחלופה.. ניסית לקרוא את הדוקומנטציה עבור הפונקציות האלו? זה רשום בצורה די ברורה.
תחליף ל- explode, בפרמטר הראשון תשים נקודה (ככה: ".") והכל יהיה בסדר.

M.a.T.a.N 31-10-12 01:29

תשתמש בEXPLODE זה גם הרבה יותר פשוט...

איציק ברבי 31-10-12 02:38

נניח ויש לך את התוכן הזה:

PHP קוד:

xxx|sss|yyy,dfdfs

explode
('|',$text);

var[
0] = 'xxx'
var[1] = 'sss'
var[2] = 'yyy,dfdfs' 

מובן?

MasterNetwork 31-10-12 04:32

אני בטוח שאפשרי ואני ישמח לשמוע איך לייעל את הקוד הזה:

קוד:

<?php
function checkfile($file){
$ext=explode(".", $file);
for ($i=0; ;$i++){
if (!isset($ext[$i])){
$i=$i-1;
return $ext[$i];
break; }
if ($ext[$i]==""){
return "error";
break; }}}



echo checkfile("asdasd.jpg");
?>



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

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