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

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

Xinxy 21-02-08 20:54

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

אז איך אני עושה שאם מישהו רושם דבר כלשהו אז יופיע לי תמונה נגיד של סמיילי?

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

מקווה שהבנתם חח
תודה לעוזרים

Meir 21-02-08 20:59

שימוש בפונקציה str_replace...

Xinxy 21-02-08 21:04

ציטוט:

נכתב במקור על ידי Meir (פרסם 610813)
שימוש בפונקציה str_replace...

הקטע הוא שאני לא רוצה להחליף את המילה אני רק רוצה שמתחתיה יהיה איזה תמונה

כמו GOOGLE ADSENSE
הם שמים את הפרסומות לפי הטקסט

oryrm19 21-02-08 22:32

אז ב str_replace למשל הוא מוצא את המילה "שניצל" אז הוא יחליף אותה ב"שניצל </br> סמיילי" או מה שתרצה

BlueNosE 21-02-08 22:33

preg_match_all

pirsomet 22-02-08 01:08

או שאתה יכול לחפש את המילה בעזרת strpos

Xinxy 22-02-08 13:21

ציטוט:

נכתב במקור על ידי pirsomet (פרסם 610882)
או שאתה יכול לחפש את המילה בעזרת strpos


תודה!
אבל יש לי עוד שאלה
איך אני עושה קבוצת מילים?
ניסיתי ככה:
PHP קוד:

<?php
echo <<<lala
 <meta http-equiv="Content-Type" content="text/html; charset=Windows-1255"/>
    <form method="POST" action="">
          <center><font face="Tahoma" size="1"><textarea rows="5" cols="20" name="T1"></textarea> <b>:טקסט</b>
      <center><input type="submit" value="send" name="B1">
lala;
$string $_POST['T1'];
$keywords = array("משחק""שלב""קוד");
$pos strpos($string$keywords);
if(isset(
$_POST['B1']))
{
    if(
$pos === false)
    {
        echo 
"<br><br>במחרוזת לא מצוי אחד מהמילים";
    }
    else
    {
        echo 
"<br><br>במחרוזת יש את אחד מהמילים";
    }
}
?>

אבל זה יצא ללא הצלחה גדולה :\

Meir 22-02-08 13:27

נראה כאילו אתה מחפש את הפונקציה in_array

BlueNosE 22-02-08 13:40

נראה כאילו הוא מחפש את הפונקצייה preg_match ואתם סתם מקשים על החיים שלו.

pirsomet 22-02-08 13:40

או שאפשר לעשות כך
קוד:

<?php
echo <<<lala
 <meta http-equiv="Content-Type" content="text/html; charset=Windows-1255"/>
    <form method="POST" action="">
          <center><font face="Tahoma" size="1"><textarea rows="5" cols="20" name="T1"></textarea> <b>:טקסט</b>
      <center><input type="submit" value="send" name="B1">
lala;
$string = $_POST['T1'];
$keywords = array("משחק", "שלב", "קוד");
    $found=0;
$string=" $string";   
    foreach($keywords as $word)
    { 
        if(strpos($string, $word,0))
        {
        $found=1;   
        }   
    }
if(isset($_POST['B1']))
{
    if($found == 0)
    {
        echo "<br><br>במחרוזת לא מצוי אחד מהמילים";
    }
    else
    {
        echo "<br><br>במחרוזת יש את אחד מהמילים";
    }
}
?>


Xinxy 22-02-08 15:58

ציטוט:

נכתב במקור על ידי pirsomet (פרסם 610931)
או שאפשר לעשות כך
קוד:

<?php
echo <<<lala
 <meta http-equiv="Content-Type" content="text/html; charset=Windows-1255"/>
    <form method="POST" action="">
          <center><font face="Tahoma" size="1"><textarea rows="5" cols="20" name="T1"></textarea> <b>:טקסט</b>
      <center><input type="submit" value="send" name="B1">
lala;
$string = $_POST['T1'];
$keywords = array("משחק", "שלב", "קוד");
    $found=0;
$string=" $string";   
    foreach($keywords as $word)
    { 
        if(strpos($string, $word,0))
        {
        $found=1;   
        }   
    }
if(isset($_POST['B1']))
{
    if($found == 0)
    {
        echo "<br><br>במחרוזת לא מצוי אחד מהמילים";
    }
    else
    {
        echo "<br><br>במחרוזת יש את אחד מהמילים";
    }
}
?>


תודה רבה!
אתה יכול להסביר לי בבקשה כמה דברים מהקוד?
PHP קוד:

$string=" $string"

למה עשית את זה?
ומה זה אומר הFOUND 0 ו1
שוב תודה


וBlueNosE
אין לי מושג איך לעבוד עם PREG_MATCH

pirsomet 22-02-08 16:14

קוד:

$string=" $string";
אין לזה ממש הסבר. כשה בדקתי את הסקריפט הוא לא מצאה מילה אם היא הייתה המילה ראשונה שהוכנסה, אם הייתה מילה לפניה או רווח אז הכל היה בסדר. בגלל זה פשוט הוספתי רווח "בכוח". הבעיה הזו משום מה רק עם מילות בעברית.

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


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

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