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

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

amirs_5 18-04-06 17:37

שאלונת על מחרוזת..
 
אממ יש לי ככה :

PHP קוד:

$string1 "אבא אמא דודה"//TRUE
$string2 "אבא ואמא דודה"//TRUE
$string3 "א-ב-א  א-מ-א  ד-ו-ד-ה"//FALSE 

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

תודה לעוזרים..:)

MasterNir 18-04-06 18:07

www.php.net/strstr

יש שם בדיוק מה שאתה מחפש...

BlueNosE 18-04-06 18:11

או ereg/i
ereg ו eregi
www.php.net/ereg
www.php.net/eregi

eXtaZa 18-04-06 18:13

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

<?php
function CheckString($bla){
if(
$bla=="אמא")
return 
true;
else
return 
false;
}
$bla="א-מ-א";
CheckString($bla);
?>


MasterNir 18-04-06 18:15

ציטוט:

נכתב במקור על ידי BlueNosE
או ereg/i
ereg ו eregi
www.php.net/ereg
www.php.net/eregi

לא חבל לסבך אותו עם ביטויים רגולריים?


ציטוט:

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

<?php
function CheckString($bla){
if(
$bla=="אמא")
return 
true;
else
return 
false;
}
$bla="א-מ-א";
CheckString($bla);
?>


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

BlueNosE 18-04-06 18:24

oh really?
PHP קוד:

if (eregi ("אבא"$stringname))
{} 

לא יספק אותו לדעתך? =]
תתפלא, אבל PCRE וereg לא תמיד קשורים..
ההבדל בין ereg לeregi הוא הCaseSentensive..
ereg כן וeregi לא.
בשניהם אפשר גם להשתמש בPCRE בלי קשר..

eXtaZa 18-04-06 18:25

נו אז ככה...
PHP קוד:

<?php
function CheckString($bla){
if( 
strstr($bla'אמא') )
return 
true;
else
return 
false;
}
$bla="א-ב-א  א-מ-א  ד-ו-ד-ה";
CheckString($bla);
?>


amirs_5 18-04-06 18:33

לא הבנתי מה ההבדל בין strstr לבין ereg

ורשמתי ככה :

PHP קוד:

$string1 "אבא אמא דודה"//TRUE 
$string2 "אבא ואמא דודה"//TRUE 
$string3 "א-ב-א  א-מ-א  ד-ו-ד-ה"//FALSE  

if (strstr ("אמא"$string1)) { echo "TRUE<BR>"; } else { echo "FALSE<BR>"; }
if (
strstr ("אמא"$string2)) { echo "TRUE<BR>"; } else { echo "FALSE<BR>"; }
if (
strstr ("אמא"$string3)) { echo "TRUE<BR>"; } else { echo "FALSE<BR>"; } 

למה הוא החזיר בכולם FALSE
??

eXtaZa 18-04-06 18:47

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

if (strstr ($string1"אמא") ) 
{
echo 
"TRUE<BR>"

else 

echo 
"FALSE<BR>";



amirs_5 18-04-06 18:55

חשבתי על זה אבל אמרתי מה הקשר :\
צודק עובד :)
תודה רבה לכולכם על העזרה :)

MasterNir 18-04-06 22:53

ציטוט:

נכתב במקור על ידי BlueNosE
oh really?
PHP קוד:

if (eregi ("אבא"$stringname))
{} 

לא יספק אותו לדעתך? =]
תתפלא, אבל PCRE וereg לא תמיד קשורים..
ההבדל בין ereg לeregi הוא הCaseSentensive..
ereg כן וeregi לא.
בשניהם אפשר גם להשתמש בPCRE בלי קשר..

strstr יהיה יותר יעיל במקרה הזה, וגם לפונקציה הזו קיים case Insensetive...


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

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