0

Hey guys I'm connecting to api to this site. I'm getting news for movies. I have made the connection through php like so.......

<?php
//check if you have curl loaded
if(!function_exists("curl_init")) die("cURL extension is not installed");
$url = 'http://kvikmyndir.is/api/news/?key=Ax0Z1bNHSxa26UftlEHckr65cibCD8DO';
$storejson = 'json/kvikmyndir.json';
//skrifa
$fw = fopen($storejson, 'w'); 
//start curl
$ch=curl_init($url);
//set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute
$r=curl_exec($ch);
//close curl
curl_close($ch);

$arr = json_decode($r,true);
fwrite($fw, json_encode($arr, true));
?>

and i get the results in kvikmyndir.json like so..... here is an exsample from .json

[{"ID":136621,"title":"Andy er steindau\u00f0ur - segir k\u00e6rastan","content":"\u003Ca href=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/kaufmannn.jpg\"\u003E\u003Cimg class=\"alignright size-medium wp-image-136627\" alt=\"kaufmannn\" src=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/kaufmannn-300x168.jpg\" width=\"300\" height=\"168\" \/\u003E\u003C\/a\u003EAndy Kaufman er steindau\u00f0ur og hann er ekki a\u00f0 koma til baka, segir s\u00ed\u00f0asta k\u00e6rasta hans \u003Cstrong\u003ELynne Margulies\u003C\/strong\u003E, 56 \u00e1ra, en h\u00fan segir vi\u00f0 \u003Ca href=\"http:\/\/www.tmz.com\/2013\/11\/15\/andy-kaufman-girlfriend-lynne-margulies-death-hoax\/\" target=\"_blank\"\u003ETMZ vefmi\u00f0ilinn\u003C\/a\u003E bandar\u00edska a\u00f0 h\u00fan hafi horft \u00e1 hann deyja.\r\n\r\nVi\u00f0 \u003Ca href=\"http:\/\/kvikmyndir.is\/frettir\/frett\/?id=136593\" target=\"_blank\"\u003Es\u00f6g\u00f0um fr\u00e1 \u00fev\u00ed \u00ed g\u00e6r\u003C\/a\u003E a\u00f0 24 \u00e1ra g\u00f6mul kona hafi komi\u00f0 fram \u00ed g\u00e6r \u00e1 Gotham Comedy Club og sagst vera d\u00f3ttir hans og hann v\u00e6ri ekki l\u00e1tinn. Hann v\u00e6ri 64 \u00e1ra gamall.\r\n\r\nLynne segir a\u00f0 \u00feessi svokalla\u00f0a d\u00f3ttir hans s\u00e9 bara plat.\r\n\r\nMargulies segir a\u00f0 h\u00fan hafi veri\u00f0 st\u00f6dd vi\u00f0 sj\u00fakrabe\u00f0 Kaufman \u00e1 West Hollywood sp\u00edtalanum \u00fear sem hann l\u00e9st \u00far sjaldg\u00e6fri tegund lungnakrabbameins \u00e1ri\u00f0 1984.\r\n\r\n\"\u00c9g var inni \u00ed herberginu. \u00deau hef\u00f0u \u00feurft a\u00f0 skipta \u00fat l\u00edk\u00f6mum.\"\r\n\r\n\u003Ciframe id=\"kaltura_player_1384509791\" style=\"border: 0px solid #ffffff;\" src=\"http:\/\/cdnapi.kaltura.com\/index.php\/kwidget\/wid\/0_kbtlittx\/uiconf_id\/6740162\/st_cache\/24396?&amp;\" height=\"360\" width=\"640\"\u003E\u003C\/iframe\u003E\r\n\u003Cdiv style=\"text-align: left; font-size: x-small; margin-top: 0;\"\u003E\u003Ca href=\"http:\/\/www.tmz.com\/videos\/0_6wky24qp\"\u003EAndy Kaufman -- Video of Alleged Daughter -- MY FATHER LIVES\u003C\/a\u003E\r\n- Watch More\r\n\u003Ca title=\"TMZ Videos\" href=\"http:\/\/www.tmz.com\/videos\"\u003ECelebrity Videos\u003C\/a\u003E\r\nor\r\n\u003Ca title=\"TMZ on YouTube\" href=\"http:\/\/www.youtube.com\/subscription_center?&amp;add_user=tmz\"\u003ESubscribe\u003C\/a\u003E\u003C\/div\u003E\r\nLynne segir a\u00f0 d\u00f3ttir hans svokalla\u00f0a s\u00e9 eing\u00f6ngu a\u00f0 leika \"andy kaufman\" atri\u00f0i, og reyna a\u00f0 halda go\u00f0s\u00f6gunni um a\u00f0 leikarinn s\u00e9 enn \u00e1 l\u00edfi, \u00e1 l\u00edfi.\r\n\r\nH\u00fan telur ennfremur a\u00f0 br\u00f3\u00f0ir hans Michael, sem hafi veri\u00f0 kynnir \u00e1 n\u00edundu \u00e1rlegu Andy Kaufman ver\u00f0launah\u00e1t\u00ed\u00f0inni \u00fear sem hin dularfulla d\u00f3ttir kom fram, s\u00e9 a\u00f0 taka \u00fe\u00e1tt \u00ed gr\u00edninu.\r\n\r\nLynne segist \u00feekkja Maria, sem er alv\u00f6ru d\u00f3ttir Andy, en h\u00fan er \u00e1 \u00fer\u00edtugsaldri, og segir a\u00f0 Andy eigi engin \u00f6nnur b\u00f6rn.\r\n\r\nH\u00e9r fyrir ne\u00f0an er d\u00e1narvottor\u00f0 leikarans.\r\n\r\n\u003Ca href=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/dan.jpg\"\u003E\u003Cimg class=\"alignleft size-full wp-image-136628\" alt=\"dan\" src=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/dan.jpg\" width=\"551\" height=\"448\" \/\u003E\u003C\/a\u003E","date":"2013-11-15 10:13:47","link":"http:\/\/kvikmyndir.is\/frettir\/frett\/?id=136621"},

First off I want to get the .json file like this link here below

http://kvikmyndir.is/api/news/?key=Ax0Z1bNHSxa26UftlEHckr65cibCD8DO

The content on this link comes in strange format witch i'm having trouble working with in my css

This is my javascript code to make json file appear..

$(document).ready(function() {
    $.getJSON('json/kvikmyndir.json', function(results) {
        obj = json.parse(results)
        for (var i = 0; i < results.length; i++) {
            var title = $('#imdb').append("<h1>" + results[i].title + "</h1></br>");
            var title = $('#imdb').append("<p>" + results[i].content + "</p></br>");
            var title = $('#imdb').append("<p>" + results[i].date + "</p></br>");
            var title = $('#imdb').append("<p>" + results[i].link + "</p></br>");
         }
    });
});

now here is the results on my test page undir the navbar link news.

https://notendur.hi.is/~sth132/Lokaverkefni/index_Lokaverkefni.php#

Now as you can see my content appear in very strange and unprofessional way. I want to be able to to control the img, paragraps and so on.. I'm a beginner so I am really stuck.

If you could help me guys that would be great. Thanks

jonjonson
  • 263
  • 2
  • 5
  • 16

1 Answers1

0

First of all, the returned JSON is missing the closing bracket and has an extra comma. I believe it should be as below -

[{"ID":136621,"title":"Andy er steindau\u00f0ur - segir k\u00e6rastan","content":"\u003Ca href=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/kaufmannn.jpg\"\u003E\u003Cimg class=\"alignright size-medium wp-image-136627\" alt=\"kaufmannn\" src=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/kaufmannn-300x168.jpg\" width=\"300\" height=\"168\" \/\u003E\u003C\/a\u003EAndy Kaufman er steindau\u00f0ur og hann er ekki a\u00f0 koma til baka, segir s\u00ed\u00f0asta k\u00e6rasta hans \u003Cstrong\u003ELynne Margulies\u003C\/strong\u003E, 56 \u00e1ra, en h\u00fan segir vi\u00f0 \u003Ca href=\"http:\/\/www.tmz.com\/2013\/11\/15\/andy-kaufman-girlfriend-lynne-margulies-death-hoax\/\" target=\"_blank\"\u003ETMZ vefmi\u00f0ilinn\u003C\/a\u003E bandar\u00edska a\u00f0 h\u00fan hafi horft \u00e1 hann deyja.\r\n\r\nVi\u00f0 \u003Ca href=\"http:\/\/kvikmyndir.is\/frettir\/frett\/?id=136593\" target=\"_blank\"\u003Es\u00f6g\u00f0um fr\u00e1 \u00fev\u00ed \u00ed g\u00e6r\u003C\/a\u003E a\u00f0 24 \u00e1ra g\u00f6mul kona hafi komi\u00f0 fram \u00ed g\u00e6r \u00e1 Gotham Comedy Club og sagst vera d\u00f3ttir hans og hann v\u00e6ri ekki l\u00e1tinn. Hann v\u00e6ri 64 \u00e1ra gamall.\r\n\r\nLynne segir a\u00f0 \u00feessi svokalla\u00f0a d\u00f3ttir hans s\u00e9 bara plat.\r\n\r\nMargulies segir a\u00f0 h\u00fan hafi veri\u00f0 st\u00f6dd vi\u00f0 sj\u00fakrabe\u00f0 Kaufman \u00e1 West Hollywood sp\u00edtalanum \u00fear sem hann l\u00e9st \u00far sjaldg\u00e6fri tegund lungnakrabbameins \u00e1ri\u00f0 1984.\r\n\r\n\"\u00c9g var inni \u00ed herberginu. \u00deau hef\u00f0u \u00feurft a\u00f0 skipta \u00fat l\u00edk\u00f6mum.\"\r\n\r\n\u003Ciframe id=\"kaltura_player_1384509791\" style=\"border: 0px solid #ffffff;\" src=\"http:\/\/cdnapi.kaltura.com\/index.php\/kwidget\/wid\/0_kbtlittx\/uiconf_id\/6740162\/st_cache\/24396?&amp;\" height=\"360\" width=\"640\"\u003E\u003C\/iframe\u003E\r\n\u003Cdiv style=\"text-align: left; font-size: x-small; margin-top: 0;\"\u003E\u003Ca href=\"http:\/\/www.tmz.com\/videos\/0_6wky24qp\"\u003EAndy Kaufman -- Video of Alleged Daughter -- MY FATHER LIVES\u003C\/a\u003E\r\n- Watch More\r\n\u003Ca title=\"TMZ Videos\" href=\"http:\/\/www.tmz.com\/videos\"\u003ECelebrity Videos\u003C\/a\u003E\r\nor\r\n\u003Ca title=\"TMZ on YouTube\" href=\"http:\/\/www.youtube.com\/subscription_center?&amp;add_user=tmz\"\u003ESubscribe\u003C\/a\u003E\u003C\/div\u003E\r\nLynne segir a\u00f0 d\u00f3ttir hans svokalla\u00f0a s\u00e9 eing\u00f6ngu a\u00f0 leika \"andy kaufman\" atri\u00f0i, og reyna a\u00f0 halda go\u00f0s\u00f6gunni um a\u00f0 leikarinn s\u00e9 enn \u00e1 l\u00edfi, \u00e1 l\u00edfi.\r\n\r\nH\u00fan telur ennfremur a\u00f0 br\u00f3\u00f0ir hans Michael, sem hafi veri\u00f0 kynnir \u00e1 n\u00edundu \u00e1rlegu Andy Kaufman ver\u00f0launah\u00e1t\u00ed\u00f0inni \u00fear sem hin dularfulla d\u00f3ttir kom fram, s\u00e9 a\u00f0 taka \u00fe\u00e1tt \u00ed gr\u00edninu.\r\n\r\nLynne segist \u00feekkja Maria, sem er alv\u00f6ru d\u00f3ttir Andy, en h\u00fan er \u00e1 \u00fer\u00edtugsaldri, og segir a\u00f0 Andy eigi engin \u00f6nnur b\u00f6rn.\r\n\r\nH\u00e9r fyrir ne\u00f0an er d\u00e1narvottor\u00f0 leikarans.\r\n\r\n\u003Ca href=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/dan.jpg\"\u003E\u003Cimg class=\"alignleft size-full wp-image-136628\" alt=\"dan\" src=\"http:\/\/kvikmyndir.is\/frettir\/wp-content\/uploads\/2013\/11\/dan.jpg\" width=\"551\" height=\"448\" \/\u003E\u003C\/a\u003E","date":"2013-11-15 10:13:47","link":"http:\/\/kvikmyndir.is\/frettir\/frett\/?id=136621"}]

Second, you need to convert the returned string from UNICODE format. Below is an example of an online UNICODE converter. Copy paste the above string and you can see the results.

http://rishida.net/tools/conversion/

Third, you need to remove the escape character "\". You can do it through the PHP string libraries.

Please see the code below -

<?php
#source: http://stackoverflow.com/questions/2934563/how-to-decode-unicode-escape-sequences-like-u00ed-to-proper-utf-8-encoded-char

function replace_unicode_escape_sequence($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}

function unicode_decode($str) {
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',     'replace_unicode_escape_sequence', $str);
}

$decodedString = unicode_decode($yourStringFromServer);
$search = array (
                0 => '\\"',
                1 => '\\/',
                2 => '\\r',
                3 => '\\n',
            );
 $replace = array (
                0 => '"',
                1 => '/',
                2 => '',
                3 => '',
          );
$finalString = str_replace( $search, $replace, $decodedString);
?>
TR1
  • 323
  • 1
  • 9
  • Thanks for your input. But as I said I am a beginner. First off how can convert a .json file from unicode witch is constantly being updated(aleast 5 times a day). I dont understand the what of the conversion I need ? :/.. and second how would I remove the escape character??? I have tryed this curl_close($ch); echo $storejson, "\n"; echo stripslashes($storejson), "\n"; – jonjonson Nov 15 '13 at 14:48