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

    בעיה בהקראת טקסט דרך api

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

      @שמעון1144
      תעלה את הקוד php שכתבת ואולי נוכל לעזור לך

      ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • N
        nyh @שמעון1144 נערך לאחרונה על ידי

        @שמעון1144
        למה בread אתה צריך הקשות?

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

          @nyh
          הסרתי את ה read-t ועדיין לא עובד, אחרי המתנה של כמה שניות מחזיר אותי לתפריט הראשי

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

            @אהרן-שובקס
            להלן הקוד

            <?php 
            
                $url = "https://ims.data.gov.il/sites/default/files/isr_country.xml";
            
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
                curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate");     
                $response = curl_exec($ch);
                curl_close($ch);
            
                $response =  iconv('Windows-1255', 'UTF-8', $response);
            
                $resq = $response;
            
                $rnp = "";
            
                $pos1 = strpos($resq, "<IssueDateTime>");
                if ($pos1) {
                    $resq = strstr($resq, "<IssueDateTime>");
                    $pos2 = strpos($resq, "</IssueDateTime>");
                    $upd = substr($resq, strlen("<IssueDateTime>"), $pos2 - strlen("<IssueDateTime>") );
                }
                else {
                    header('Content-Type: text/xml');
                    print($response);
                    exit();
                }
            
                $tx3 = "Weather in Hebrew</ElementName>";
                $pos3 = strpos($resq, $tx3);
                if ($pos3) {
                    $resq = strstr($resq, $tx3);
                    $resq = strstr($resq, "<ElementValue>");
                    $pos4 = strpos($resq, "</ElementValue>");
                    $upd = substr($resq, strlen("<ElementValue>"), $pos4 - strlen("<ElementValue>") );
                    $rnp = $rnp . $upd ;
                }
                else {
                    exit();
                }
            
             
                $pos3 = strpos($resq, $tx3);
                if ($pos3) {
                    $resq = strstr($resq, $tx3);
                    $resq = strstr($resq, "<ElementValue>");
                    $pos4 = strpos($resq, "</ElementValue>");
                    $upd = substr($resq, strlen("<ElementValue>"), $pos4 - strlen("<ElementValue>") );
                    $rnp  = $rnp . " למחרת: " . $upd;
                }
                else {
                    exit();
                }
            
            
                //$rnp = str_replace("\r\n", ""  , $rnp);
                //$rnp = str_replace(".", " "  , $rnp);
                //$rnp = str_replace(":", " "  , $rnp);
                //$rnp = str_replace(",", " "  , $rnp);
                $rnp = str_replace("  ", " "  , $rnp);
                $rnp = trim($rnp);
               
                //echo "read=t-" . $rnp;
                echo $rnp;
                exit();
            ?>
            
            אהרן שובקס תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • אהרן שובקס
              אהרן שובקס ניהול @שמעון1144 נערך לאחרונה על ידי אהרן שובקס

              @שמעון1144
              ככה זה יעבוד לך:

              <?php
               
                  $url = "https://ims.data.gov.il/sites/default/files/isr_country.xml";
               
                  $ch = curl_init();
                  curl_setopt($ch, CURLOPT_URL, $url);
                  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
                  curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate");     
                  $response = curl_exec($ch);
                  curl_close($ch);
               
                  $response =  iconv('Windows-1255', 'UTF-8', $response);
               
                  $resq = $response;
               
                  $rnp = "";
               
                  $pos1 = strpos($resq, "<IssueDateTime>");
                  if ($pos1) {
                      $resq = strstr($resq, "<IssueDateTime>");
                      $pos2 = strpos($resq, "</IssueDateTime>");
                      $upd = substr($resq, strlen("<IssueDateTime>"), $pos2 - strlen("<IssueDateTime>") );
                  }
                  else {
                      header('Content-Type: text/xml');
                      print($response);
                      exit();
                  }
               
                  $tx3 = "Weather in Hebrew</ElementName>";
                  $pos3 = strpos($resq, $tx3);
                  if ($pos3) {
                      $resq = strstr($resq, $tx3);
                      $resq = strstr($resq, "<ElementValue>");
                      $pos4 = strpos($resq, "</ElementValue>");
                      $upd = substr($resq, strlen("<ElementValue>"), $pos4 - strlen("<ElementValue>") );
                      $rnp = $rnp . $upd ;
                  }
                  else {
                      exit();
                  }
               
               
                  $pos3 = strpos($resq, $tx3);
                  if ($pos3) {
                      $resq = strstr($resq, $tx3);
                      $resq = strstr($resq, "<ElementValue>");
                      $pos4 = strpos($resq, "</ElementValue>");
                      $upd = substr($resq, strlen("<ElementValue>"), $pos4 - strlen("<ElementValue>") );
                      $rnp  = $rnp . " למחרת: " . $upd;
                  }
                  else {
                      exit();
                  }
               
               
                  $rnp = str_replace("\r\n", ""  , $rnp);
                  $rnp = str_replace(".", " "  , $rnp);
                  $rnp = str_replace(":", " "  , $rnp);
                  $rnp = str_replace(",", " "  , $rnp);
                  $rnp = str_replace("  ", " "  , $rnp);
                  $rnp = trim($rnp);
              
              echo "id_list_message=t-$rnp.";
              ?>
              
              ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • ש
                שמעון1144 @אהרן שובקס נערך לאחרונה על ידי

                @אהרן-שובקס
                עדיין לא עובד.

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

                  @שמעון1144
                  נכון כי יש ההגבלה על ההמרה מה שכן תוכל לפצל את הטקסט לכמה פסקאות וככה זה יעבוד לך
                  https://f2.freeivr.co.il/post/71074
                  מה שהכי נכון לעשות לכאורה זה
                  לפצל את כל המחרוזת לפי רווח ואז לספור 150 לקבל את הערך ה 150 ואם זה לעשות פיצול מחרוזת ע"י המילה

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

                    @אהרן-שובקס
                    קיצרתי את כל הסטרינג (זה יוצא בערך 90 תווים), ועדיין לא עובד,
                    כשאני עושה סתם echo עם סטרינג קבוע, זה עובד מצויין גם אם הסטרינג מעל 300 תווים
                    כנראה שהבעיה להקריא סטרינג שמגיע ממשתנה

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

                      @שמעון1144
                      שים את הקוד הבא:

                      $rnp = preg_replace( "/\r|\n/", "", $rnp );
                      
                      ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • ש
                        שמעון1144 @אהרן שובקס נערך לאחרונה על ידי

                        @אהרן-שובקס
                        עובד מצוין
                        תודה רבה!!!

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

                          @שמעון1144
                          סתם ככה למה לך לעבוד קשה?
                          יכלת לכתוב את כל הקוד הזה בשמונה שורות:
                          (לא בא לייאש)

                          <?php
                          $url=simplexml_load_file("https://ims.data.gov.il/sites/default/files/isr_country.xml");
                           $rnp = $url->Location->LocationData->TimeUnitData->Element[3]->ElementValue;
                              $rnp = preg_replace( "/\r|\n/", "", $rnp );
                              $rnp = str_replace(".", " "  , $rnp);
                              $rnp = str_replace(":", " "  , $rnp);
                           echo "id_list_message=t-$rnp.";
                          ?>
                          
                          תגובה 1 תגובה אחרונה תגובה ציטוט 4
                          • פוסט ראשון
                            פוסט אחרון