Неверный Json положить HTML в

0

Я пытаюсь поместить html-контент в json, он сломался.

Мой недействительный Json http://i.imgur.com/8wfEikY.png

{
    "item": {
        "title": "Japanese investors back Lookup, a messaging app for local shopping in India",
        "desc": "An infusion of US$116,000 from Japan social games company DeNA and Teruhide Sato, founder of BEENOS, takes the three-month-old startup\u2019s seed funding to US$382,000.",
        "link": "https:\/\/www.techinasia.com\/dena-teruhide-sato-beenos-fund-lookup\/",
        "content": "<p><img src="https: \/\/www-techinasia.netdna-ssl.com\/wp-content\/uploads\/2015\/01\/lookup-app-main-720x289.jpg" alt="lookupappmain" width="720" height="289" class="aligncentersize-largewp-image-213938" \/><\/p>\n<p>Bangalore-based instant messaging app <a href="https: \/\/www.techinasia.com\/tag\/lookup\/">Lookup<\/a> – a Craiglist cum WhatsApp for local businesses – just got its third dose of seed funding. Japan&#8217;s leading social games company <a href="https: \/\/www.techinasia.com\/tag\/dena\/">DeNA<\/a> and Teruhide Sato, founder of BEENOS group, a global conglomerate with ecommerce holdings and a business incubator, invested US$116,000 into this three-month-old startup founded by Deepak Ravindran, a young serial entrepreneur.<\/p>\n<p>"Both our recent investors have strong footholds in the mobile space and have successfully led innovations in Japan," says Ravindran, suggesting that the investors would be giving Lookup more than just funding.<\/p>\n<p><a href="http: \/\/www.lookup.to">Lookup<\/a> lists businesses, restaurants, and even police stations for users to connect with. Unlike Craigslist or JustDial which would give you a number to dial, Lookup lets you shoot off a message to the local businesses without leaving the app. You can find prices and availability of products or services at local businesses, book appointments at salons, or make reservations at restaurants with this app. Any store or restaurant using Lookup can then respond instantly.<\/p>\n<p>Lookup has a call center tracking the messages to ensure that its users receive responses immediately, even if a store is not using the app. "Our guarantee is that you get answers within five minutes. We do this by employing dedicated people for handling your request. Lookups call center fields your responses, calls up stores, and types answers back to you in real-time. No calling, no waiting," Ravindran told <em>Tech in Asia<\/em>.<\/p>\n<p>To celebrate the latest funding from Japanese investors, Lookup is gifting free sushi for a week to new users from Bangalore who download the app. For this, it has tied up with two Japanese restaurants Shiro and Ginseng.<\/p>\n<p>With this latest infusion, Lookups seed round of venture capital funding closed at US$382,000. It had earlier bagged US$166,000 from tech billionaire Kris Gopalakrishnan, co-founder of Indian IT bellwether Infosys, and US$100,000 from MKS Switzerland SA, a precious metals and financial services group of companies.<\/p>\n<p><center><strong>See: <a href="https: \/\/www.techinasia.com\/college-dropout-turned-mit-top-innovator-rolls-craigslist-whatsapp-app-local-shopping-india\/">College dropout turned MIT top innovator rolls Craigslist and WhatsApp into one app for local shopping in India<\/a><\/strong><\/center><\/p>\n<p>This post <a href="https: \/\/www.techinasia.com\/dena-teruhide-sato-beenos-fund-lookup\/" title="JapaneseinvestorsbackLookup,
        amessagingappforlocalshoppinginIndia">Japanese investors back Lookup, a messaging app for local shopping in India<\/a> appeared first on Tech in Asia.<\/p>"
    }
}

Что я сделал в PHP

$arr = array();
$arr["item"]["content"] = $content; // $content is dynamic, scrapped from somewhere
echo json_encode($arr, true);

Я пробовал htmlentities и addcslashes ($ item_content, '' '), но nnoe этой работы.

  • 0
    Пожалуйста, добавьте текст из вашего изображения вместо внешней ссылки.
  • 0
    @Magnilex я частично включил
Теги:

2 ответа

1

Это из-за "знака в теге изображения". Вы можете использовать функцию сущностей HTML для ее кодирования, а функция декодирования - для его декодирования.

Более простой способ сделать это - сохранить URL-адрес изображения в другом свойстве вашего элемента.

  • 0
    Быстрая ссылка: php.net/htmlentities
  • 0
    Я не могу, я должен получить весь контент.
Показать ещё 1 комментарий
1

Вы не избежали кавычек ("") в своем контенте - это означает, что ваша строка содержимого только "<p><img src=" а затем PHP путается относительно того, что остальная часть этого материала.

Вы должны изменить это так:

"content": "<p><img src=\"https: \/\/www-techinasia.netdna-ssl.com\/wp-content\/uploads\/2015\/01\/lookup-app-main-720x289.jpg" alt=\"loo...More content..."

(Я добавил\перед кавычками, которые не заканчивают строку - в будущем - ищите подсветку синтаксиса - если вещи меняют цвет, если вы не ожидаете конца переменной), тогда что-то пошло не так)

Если вы хотите сделать это с помощью PHP - вы можете использовать функцию сущностей HTML (http://php.net/htmlentities) или просто функцию addlashes (http://php.net/manual/en/function.addslashes.php)

Например

<?php $str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt; echo
htmlentities($str);

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt; echo
htmlentities($str, ENT_QUOTES); ?>'

[Cite: Руководство PHP]

<?php $str = "Is your name O'Reilly?";

// Outputs: Is your name O\'Reilly?
echo addslashes($str); ?>

[Cite: Руководство PHP]

  • 0
    Я пробовал addcslashes ($ content, '"'), но тоже не работает.
  • 0
    Вы можете опубликовать вывод?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню