Avatar billede Morten Professor
25. april 2022 - 07:53 Der er 3 kommentarer og
1 løsning

PHP JSON og API bruger curl

Hej

Håber der er nogle der kan komme med en løsning til et problem jeg prøver på at løse, men går ikke så godt.
Har søgt på nettet, men ikke noget der virker på mit problem i forhold til json og output i forhold til Linjeskift.
Der står godt nok \\n i min json output men når jeg når til json_decode($json, true) for at få en array, forsvinder linjeskift.

Har denne kode jeg bruger indtil videre:

$ch = curl_init();
curl_setopt_array($ch, [
  CURLOPT_URL => "https://graph.facebook.com/v12.0/me?fields=id%2Cpicture%7Burl%2Cwidth%2Cheight%7D%2Clink%2Cposts%7Bmessage%2Cpermalink_url%2Cfull_picture%7D&access_token=*****************",
  CURLOPT_RETURNTRANSFER => true,
]);

json:
Hej\\n\\nS\\u00e5 er der blevet lavet nogle fede plankeborde.\\nI kan altid tage kontakt til Ib hvis du er interesseret.\\nSe kontaktoplysninger p\\u00e5 *******

$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);

$FBdata = array();
foreach ($data as $FB => $value) {
    $FBdata[] = $value;
}
$message = [];
foreach ($FBdata as $key => $value) {
    $message[] = $FBdata[3]["data"];
}

Med venlig hilsen
Morten
Avatar billede Morten Professor
25. april 2022 - 07:57 #1
Doh fandt lige ud af det :-D

$string = preg_replace("/[\r\n]+/", "<br>", $value[$key]["message"]);

Så blev det så flot :-D

Nogle gange virker det åbenbart at lige at skrive her :-)
Have en rigtig god dag :-)
Avatar billede jakobdo Ekspert
25. april 2022 - 11:21 #2
Din løsning er da ikke dum.
Men du kunne også bruge den indbyggede php funktion til det:

https://www.php.net/manual/en/function.nl2br.php
Avatar billede arne_v Ekspert
25. april 2022 - 16:28 #3
Erstatte \r\n med <br> eller putte det indeni <pre></pre> vil bevare linieskift.

Men husk at den slags konverteringer hører hjemme i præsentationslaget ikke der hvor data hentes.
Avatar billede Morten Professor
25. april 2022 - 18:00 #4
Jeps det bliver også kun der hvor det vises laver ikke om i json filen, kun output som vises ved brugeren.

Tak for de gode råd.

Med venlig hilsen
Morten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
10 gratis artikler: Få gode råd fra Danmarks bedste it-ledere