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

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

syn 28-03-07 22:31

[PHP] מערך SPLIT
 
שלום,
אני משתמש בפונקציה substr כדי להציג מס' תווים מערך מסוים.
בוא נגיד שהערך הוא משפט,
אמרו לי להשתמש עם הפונקציה SPLIT כדי ש substr לא יחתוך לי מילים באמצע.
מישהו יכול להסביר לי איך זה עובד?
לא הבנתי לפי עמוד ההסבר באתר PHP הרשמי (http://www.php.net/split).

Meir 28-03-07 22:34

הפונקציה מקבלת 3 ערכים:
הראשון זה התו המפריד אם אתה רוצה להוציא משפט אז תשתמש ברווח ( ).
השני זה המשפט
והשלישי זה כמות המילים שאתה בוחר להוציא

ShoQER 28-03-07 22:34

הפונקציה מפצלת ע"י ביטוי רגולרי...אתה פפשוט צריך ליצור ביטוי רגולרי בשביל לעבוד עם הפונקציה

syn 28-03-07 22:59

אוקיי, הבנתי בערך :|
בסוף הלכתי על explode, כי SPLIT החזיר לי תוצאות ב Array.

PHP קוד:

<?php

$pizza  
"piece1 piece2 piece3 piece4 piece5 piece6";
$pieces explode(" "$pizza);


echo 
$pieces[0]; // piece1
echo $pieces[1]; // piece2
?>

איך אפשר לסדר את זה כדי שאני לא אצטרך לדעת מראש כמה חלקים יהיו?
מצטער על השאלות, אני רק מתחיל בPHP.

בניה 28-03-07 23:01

אתה רוצה שאם מילה תחתך זה יוסיף אותיות עד שהיא תושלם או יחסיר אותיות עד שהיא תרד לגמרי?

syn 28-03-07 23:03

ציטוט:

נכתב במקור על ידי בניה (פרסם 446827)
אתה רוצה שאם מילה תחתך זה יוסיף אותיות עד שהיא תושלם או יחסיר אותיות עד שהיא תרד לגמרי?

זה לא משנה לי כ"כ, עדיף שזה יחסיר אותיות עד שהיא תרד לגמרי.

Meir 28-03-07 23:04

ציטוט:

נכתב במקור על ידי LTr (פרסם 446823)
אוקיי, הבנתי בערך :|
בסוף הלכתי על explode, כי SPLIT החזיר לי תוצאות ב Array.

PHP קוד:

<?php

$pizza  
"piece1 piece2 piece3 piece4 piece5 piece6";
$pieces explode(" "$pizza);


echo 
$pieces[0]; // piece1
echo $pieces[1]; // piece2
?>

איך אפשר לסדר את זה כדי שאני לא אצטרך לדעת מראש כמה חלקים יהיו?
מצטער על השאלות, אני רק מתחיל בPHP.

אתה יכול בעזרת הפונקציה array_slice לחתוך את כמות האיברים שאתה רוצה מהמערך ובעזרת implode להציג אותם

http://il2.php.net/manual/en/function.array-slice.php
http://il2.php.net/manual/en/function.implode.php

syn 28-03-07 23:10

ציטוט:

נכתב במקור על ידי elbaz.maor (פרסם 446836)
אתה יכול בעזרת הפונקציה array_slice לחתוך את כמות האיברים שאתה רוצה מהמערך ובעזרת implode להציג אותם

http://il2.php.net/manual/en/function.array-slice.php
http://il2.php.net/manual/en/function.implode.php

מצטער אבל לא הבנתי איך להשתמש ב array_slic |דמעות|
איך אני חותך משפט ומציג אותו בלי ה array הזה?

Meir 28-03-07 23:13

PHP קוד:

$your_text 'put here your text';
$your_text explode(" "$your_text);
$number_of_words 12;
echo 
implode" " array_slice($your_text,0,$number_of_words) ); 


בניה 28-03-07 23:27

PHP קוד:

<?php
$num_2_take 
3;
$str "12345 612313 ";
$str trim($str);
if(isset(
$str[$num_2_take]) && $str[$num_2_take] !=" ")
{
    
$str preg_replace("/ ?[^ ]*$/"""substr($str0$num_2_take));
}
echo 
$str;
?>


syn 28-03-07 23:29

ציטוט:

נכתב במקור על ידי elbaz.maor (פרסם 446845)
PHP קוד:

$your_text 'put here your text';
$your_text explode(" "$your_text);
$number_of_words 12;
echo 
implode" " array_slice($your_text,0,$number_of_words) ); 

ועוד משהו עדיף לך להשתמש בspliti

PHP קוד:

$string "put here your text";
$number_of_words 12;
$chunks spliti (" "$string$number_of_words);
echo 
implode" " $chunks ); 


חח אני טיפש |מסמיק|
זה מחזיר לי את אותו המשפט, ואני לא יודע איך להמשיך מכאן :|

אשמח אם תוכל להסביר לי מה המשמעות של המספר 12 בקוד?

Meir 28-03-07 23:33

מספר המילים שאתה רוצה להגביל

syn 28-03-07 23:35

אוקיי הבנתי פחות או יותר :)
אתה יכול לעזור לי איך אני יכול לשלב את זה עם substr? אני לא מצליח להבין עדיין חח.

Meir 28-03-07 23:44

אתה לא צריך לשלב פה substr
ותשתמש בדוגמא עם הexplode

syn 28-03-07 23:46

אבל אם יש לי טקסט באורך של 500 תווים,
ואני בוחר להציג רק את ה10 המילים הראשונות, זה פועל על עשרת המילים הראשונות ואז ממשיך עם הטקסט כרגיל.

בניה, לא יודע למה, הקוד שלך לא מחזיר לי כלום :(

בניה 28-03-07 23:47

ציטוט:

נכתב במקור על ידי LTr (פרסם 446886)
אבל אם יש לי טקסט באורך של 500 תווים,
ואני בוחר להציג רק את ה10 המילים הראשונות, זה פועל על עשרת המילים הראשונות ואז ממשיך עם הטקסט כרגיל.

בניה, לא יודע למה, הקוד שלך לא מחזיר לי כלום :(

מה אתה מנסה לתת לו? תן קלט שניסת את זה עליו.

עריכה:
שים לב שה $num_2_take זה מספר האותיות שאתה רוצה לקחת.

Meir 28-03-07 23:48

ציטוט:

נכתב במקור על ידי LTr (פרסם 446886)
אבל אם יש לי טקסט באורך של 500 תווים,
ואני בוחר להציג רק את ה10 המילים הראשונות, זה פועל על עשרת המילים הראשונות ואז ממשיך עם הטקסט כרגיל.

בניה, לא יודע למה, הקוד שלך לא מחזיר לי כלום :(

תשתמש בדוגמא עם הexplode התבלבלתי עם הspliti

syn 29-03-07 00:01

ציטוט:

נכתב במקור על ידי elbaz.maor (פרסם 446890)
תשתמש בדוגמא עם הexplode התבלבלתי עם הspliti

אוקיי, תודה רבה, זה עובד |לב|

Eran-s 29-03-07 01:47

אגב explode = split


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

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