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

הוסטס - פורום אחסון האתרים הגדול בישראל (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

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


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

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