• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    לא נפתר הוספת ניקוד באמצעות API

    עזרה הדדית למשתמשים מתקדמים
    3
    8
    92
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ז
      זאביק נערך לאחרונה על ידי זאביק

      תגובה: הוספת ניקוד דרך API

      @ivrפון כתב בהוספת ניקוד דרך API:

      @WIZNITZ דקה אני כותב לך קוד PHP להוספת ניקוד למשתמש דרך API

      שלום לכם,
      אם עדיין קיים ברשותכם קוד PHP מוכן לזה, ׁ(או אם זה מוכן אצל מישהו אחר ממשתמשי הפורום), זה יועיל לי מאוד, ואשמח שתעלו אותו פה לתועלת הרבים,
      תודה רבה!

      ז תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • הנושא סומן כשאלה  ז זאביק 
      • ז
        ז"למאן @זאביק נערך לאחרונה על ידי

        @זאביק
        אם זה עדיין רלוונטי, כמדומני שזה מה שאתה מבקש.
        לא יודע לגבי החוקיות של זה מבחינת תנאי שימוש של האתר.

        <?php
        
        header('Content-Type: text/plain; charset=utf-8');
        
        function callDictaAPI($text) {
            $url = 'https://nakdan-u1-0.loadbalancer.dicta.org.il/api';
            $postData = [
                "addmorph" => true,
                "keepmetagim" => true,
                "keepqq" => false,
                "nodageshdefmem" => false,
                "patachma" => false,
                "task" => "nakdan",
                "data" => $text,
                "useTokenization" => true,
                "genre" => "modern"
            ];
        
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
            curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
        
            $response = curl_exec($ch);
            curl_close($ch);
        
            return json_decode($response, true);
        }
        
        $text = $_GET['text'] ?? '';
        if (!$text) {
            exit("חסר טקסט לשליחה (פרמטר: text)");
        }
        
        $result = callDictaAPI($text);
        
        $output = '';
        foreach ($result['data'] as $item) {
            if (!isset($item['nakdan']['options']) || empty($item['nakdan']['options'])) {
                $output .= $item['str'];
                continue;
            }
        
            $option = null;
            foreach ($item['nakdan']['options'] as $opt) {
                if (($opt['levelChoice'] ?? null) === 1) {
                    $option = $opt;
                    break;
                }
            }
        
            if (!$option) {
                $option = $item['nakdan']['options'][0];
            }
        
            $word = $option['w'];
            $word = preg_replace('/(?<=\S)\|(?=\S)/u', '', $word);
        
            $output .= $word;
        }
        
        echo $output;
        
        ז צ 2 תגובות תגובה אחרונה תגובה ציטוט 1
        • ז
          זאביק @ז"למאן נערך לאחרונה על ידי

          @ז-למאן תודה רבה על ההשקעה!!!
          אבל כמדומני שהייתה אי הבנה,
          כיון שאני חיפשתי קוד של הוספת ניקוד (כלומר הוספת ציון) למשתמשים,
          ואילו אתה הבאת קוד של הוספת ניקוד לאותיות (טקסט).

          ואם יש ברשותך קוד למה שחיפשתי, זה בהחלט עדיין רלוונטי,
          תודה רבה!!

          ז תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • ז
            ז"למאן @זאביק נערך לאחרונה על ידי

            @זאביק כתב בהוספת ניקוד באמצעות API:

            כמדומני שהייתה אי הבנה,

            סליחה. טעות שלי.

            תודה רבה על ההשקעה!!!

            אל תדאג. לא כתבתי את זה עכשיו במיוחד 😉

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

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

            תגובה 1 תגובה אחרונה תגובה ציטוט 1
            • צ
              צצ @ז"למאן נערך לאחרונה על ידי

              @ז-למאן כתב בהוספת ניקוד באמצעות API:

              @זאביק
              אם זה עדיין רלוונטי, כמדומני שזה מה שאתה מבקש.
              לא יודע לגבי החוקיות של זה מבחינת תנאי שימוש של האתר.

              <?php
              
              header('Content-Type: text/plain; charset=utf-8');
              
              function callDictaAPI($text) {
                  $url = 'https://nakdan-u1-0.loadbalancer.dicta.org.il/api';
                  $postData = [
                      "addmorph" => true,
                      "keepmetagim" => true,
                      "keepqq" => false,
                      "nodageshdefmem" => false,
                      "patachma" => false,
                      "task" => "nakdan",
                      "data" => $text,
                      "useTokenization" => true,
                      "genre" => "modern"
                  ];
              
                  $ch = curl_init($url);
                  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                  curl_setopt($ch, CURLOPT_POST, true);
                  curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
                  curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
              
                  $response = curl_exec($ch);
                  curl_close($ch);
              
                  return json_decode($response, true);
              }
              
              $text = $_GET['text'] ?? '';
              if (!$text) {
                  exit("חסר טקסט לשליחה (פרמטר: text)");
              }
              
              $result = callDictaAPI($text);
              
              $output = '';
              foreach ($result['data'] as $item) {
                  if (!isset($item['nakdan']['options']) || empty($item['nakdan']['options'])) {
                      $output .= $item['str'];
                      continue;
                  }
              
                  $option = null;
                  foreach ($item['nakdan']['options'] as $opt) {
                      if (($opt['levelChoice'] ?? null) === 1) {
                          $option = $opt;
                          break;
                      }
                  }
              
                  if (!$option) {
                      $option = $item['nakdan']['options'][0];
                  }
              
                  $word = $option['w'];
                  $word = preg_replace('/(?<=\S)\|(?=\S)/u', '', $word);
              
                  $output .= $word;
              }
              
              echo $output;
              

              מה זה הקוד הזה?
              הוא מקבל טקסט ומחזיר אותו מנוקד?
              של איזה נקדן זה? מה האיכות שלו?

              ז תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • ז
                ז"למאן @צצ נערך לאחרונה על ידי

                @צצ
                מבוסס על נקדן מהיר / נקדן פשוט
                צריך לגשת אל הכתובת עם הפרמטר text ולכתוב בו את הטקסט שרוצים לקבל מנוקד בחזרה.

                ז תגובה 1 תגובה אחרונה תגובה ציטוט 1
                • ז
                  ז"למאן @ז"למאן נערך לאחרונה על ידי

                  https://example.com/nakdan.php?text=ברוך%20אתה%20השם,%20למדני%20חוקיך
                  ז תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • ז
                    זאביק @ז"למאן נערך לאחרונה על ידי זאביק

                    @ז-למאן תודה רבה על הנכונות לסייע!!
                    מה שאני זקוק לו הוא: שבתוצאה הסופית יהיו בקוד 2 אופציות:

                    1. שתהיה אפשרות בקוד להפעיל אותו בפקודה מהירה (לינק של פקודה אחת בלבד), שבה אוכל להוסיף (או להפחית, לפי מה שאבחר) נקודות מכל משתמש ומשתמש כפי שאכניס בפרמטרים שלו,

                    2. בנוסף, שתהיה גם אפשרות בקוד להפעיל שאילתה חוזרת: כלומר שיפתח חלון מסודר בתצוגה, שאצטרך להכניס בו את הפרמטרים, 1. טוקן. 2. בחירה האם אני מעוניין להוסיף או להפחית נקודות, 3. לבחור את המשתמש הרצוי, 4. לבחור כמה נקודות להוסיף לו. (וכן הלאה אפשרות להוסיף בשאילתה בחירת משתמש נוסף, ולבחור כמה נקודות להוסיף לו, או להפחית לו, וכן הלאה).

                    [דוגמא לקוד כזה בנושא אחר לגמרי, בעניין העתקת מספרים מרשי"ת A לרשי"ת B ראה בסוף השרשור בקישור דלהלן:
                    פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y]



                    והדרך לבנות את הקוד שאנו מדברים עליו כעת, כפי ש @ivrפון כתב שם (עיין במקור בתחילת שרשור זה) היא כך:

                    צריך לקבל את תוכן הקובץ על ידי הפקודה הבאה שים לב לשים משתנים ב $did $pass

                    https://www.call2all.co.il/ym/api/GetTextFile?token=$did:$pass&what=ivr2:Points/points_total.ini

                    ואז לפרק אותו
                    בPHP יש פקודות לפרוק הערך
                    זה נראה כך

                    digits-0502884999-points_total=20

                    וזה אומר ש digits זה סוג הזהוי עליו נשמר הנקודות ו0502884999 זה תוכן הזהוי וה20 שאחרי ה= זה כמות הנקודות
                    על ידי PHP אתה פשוט הופך את זה למערך כאשר כל שורה זה איבר
                    ואז עובר בלולאה ומפרק את זה לשלושה משתנים כאשר ה- מפריד בין המשתנים ובודק במשתנה האמצאי אם זה המספר שאתה מחפש על ידי תנאי אם כן אתה מחלק את המשתנה השלישי לשתי משתנים לפני ה= ואחרי ועושה תרגיל חישוב של מה שאחרי השווה לדוגמה +1
                    ואז אתה מחבר שוב את חלקי האיבר המעודכנים על ידי משתנה חדש המכיל את שלושת החלקים לאחר החישוב ופשוט מעדכן את השורה הזו במערך
                    ואז אתה מחזיר את המערך לטקסט כאשר בין איבר לאיבר %0A ואז אתה פשוט כותב את הקובץ מחדש

                    תודה רבה!!
                    וגמר חתימה טובה לכולם!!

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • פוסט ראשון
                      פוסט אחרון