<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>XML &#8212; ploshadka.net</title>
	<atom:link href="https://ploshadka.net/tag/xml/feed/" rel="self" type="application/rss+xml" />
	<link>https://ploshadka.net</link>
	<description>Мир интернет технологий</description>
	<lastBuildDate>Sat, 13 Jan 2018 11:12:55 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1</generator>
	<item>
		<title>Буфер обмена в PHP или как сохранить не отображающуюся переменную</title>
		<link>https://ploshadka.net/ob_start-value-disappear/</link>
					<comments>https://ploshadka.net/ob_start-value-disappear/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Thu, 10 May 2018 08:00:53 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ob_start]]></category>
		<category><![CDATA[update_post_meta]]></category>
		<category><![CDATA[XML]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3303</guid>

					<description><![CDATA[Коротенькая заметка о буфере обмена в PHP. В большой мере для цели, когда нужно сохранить из переменной какое-то значение для последующего вывода. Однако содержимое не сохраняется. Для исправления такой ситуации мы используем небольшой трюк с буфером обмена. Предположим мы получили...]]></description>
										<content:encoded><![CDATA[<p>Коротенькая заметка о буфере обмена в PHP. В большой мере для цели, когда нужно сохранить из переменной какое-то значение для последующего вывода. Однако содержимое не сохраняется. Для исправления такой ситуации мы используем небольшой трюк с буфером обмена. <span id="more-3303"></span></p>
<p>Предположим мы получили эту переменную из <strong>XML файла</strong> и хотим её сохранить куда-нибудь.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">foreach ($xml-&gt;xpath(&quot;/ploshadka/net/&quot;) as $value) { }</div></div>
<p>Однако она не сохраняется. Данные в переменной <strong>$value</strong> хоть и существуют, но сохранятся отказываются. Возможно они представлены в виде какие-то данных, которые не понятны функциям сохранения.</p>
<p>Тогда мы можем попробовать сначала вызвать эту переменную, а затем сохранить.</p>
<p>Запустим PHP буфер:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">ob_start();</div></div>
<p>Выведем переменную:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">echo $value;</div></div>
<p>Сохраним её куда-нибудь:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">update_post_meta( $post_id, 'xml_value', value );</div></div>
<p>И затем очистим буфер данных:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">ob_end_clean();</div></div>
<p>Вот и всё.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/ob_start-value-disappear/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Как прочитать JSON с помощью PHP</title>
		<link>https://ploshadka.net/json-to-php/</link>
					<comments>https://ploshadka.net/json-to-php/#comments</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sun, 05 Nov 2017 20:00:03 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[explode]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[json_decode]]></category>
		<category><![CDATA[PHP примеры и разбор]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Основательные труды]]></category>
		<category><![CDATA[Парсинг страниц]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3284</guid>

					<description><![CDATA[Формат JSON представляет из себя упорядоченную, определенным образом, информацию. Это альтернатива формату XML, с более минималистической структурой данных. О том, как прочитать эти данные через PHP. JSON можно прочитать с помощью очень многих языков программирования. Здесь мы будем разбирать пример...]]></description>
										<content:encoded><![CDATA[<p>Формат JSON представляет из себя упорядоченную, определенным образом, информацию. Это альтернатива формату XML, с более минималистической структурой данных. О том, как прочитать эти данные через PHP. <span id="more-3284"></span></p>
<p>JSON можно прочитать с помощью очень многих языков программирования. Здесь мы будем разбирать пример чтения содержимого файла посредством PHP.</p>
<h2>Как прочитать содержимое файла</h2>
<p>В переменную <strong>f_json</strong> заключаем адрес файла JSON:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$f_json = 'http://ploshadka.net/wp-content/uploads/3284/ploshadka.net.json';</div></div>
<p>Затем этот файл достаём по адресу указанному в f_json:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$json = file_get_contents(&quot;$f_json&quot;);</div></div>
<p>Если заглянуть в JSON файл напрямую, можно увидеть следующие данные:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">{&quot;response&quot;:{&quot;items&quot;:[{&quot;id&quot;:&quot;1331&quot;,&quot;title_one&quot;:&quot;Данные заголовка один&quot;,&quot;title_two&quot;:&quot;Данные заголовка два&quot;,&quot;Год&quot;:&quot;2056&quot;,&quot;Items&quot;:&quot;items-1, items-2, items-3, items-4&quot;}]}}</div></div>
<p>Иногда в файле данные выглядят так:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">&quot;{&quot;response&quot;:{&quot;items&quot;:[{&quot;id&quot;:&quot;1331&quot;,&quot;title_one&quot;:&quot;\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043e\u0434\u0438\u043d&quot;,&quot;title_two&quot;:&quot;\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0434\u0432\u0430&quot;,&quot;\u0413\u043e\u0434&quot;:&quot;2056&quot;,&quot;Items&quot;:&quot;items-1, items-2, items-3, items-4&quot;}]}}\n&quot;string(395) &quot;&quot;{&quot;response&quot;:{&quot;items&quot;:[{&quot;id&quot;:&quot;1331&quot;,&quot;title_one&quot;:&quot;\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u043e\u0434\u0438\u043d&quot;,&quot;title_two&quot;:&quot;\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0434\u0432\u0430&quot;,&quot;\u0413\u043e\u0434&quot;:&quot;2056&quot;,&quot;Items&quot;:&quot;items-1, items-2, items-3, items-4&quot;}]}}\n&quot;&quot;</div></div>
<p>Эта &#171;неправильная&#187; кодировка является символами Unicode, записанные в восьмибитной кодировке.</p>
<p>Просмотрим содержимое файла JSON в браузере:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">var_dump(json_decode($json));</div></div>
<p>В данном случае будет отдан массив в одну строчку. Ниже строчка разбита, для наглядности, на несколько строк.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">object(stdClass)#3896 (1) <br />
{ [&quot;response&quot;]=&gt; object(stdClass)#3324 (1) <br />
{ [&quot;items&quot;]=&gt; array(1) { [0]=&gt; object(stdClass)#3330 (5) <br />
{ [&quot;id&quot;]=&gt; string(4) &quot;1331&quot; <br />
[&quot;title_one&quot;]=&gt; string(40) &quot;Данные заголовка один&quot; <br />
[&quot;title_two&quot;]=&gt; string(38) &quot;Данные заголовка два&quot; <br />
[&quot;Год&quot;]=&gt; string(4) &quot;2056&quot; <br />
[&quot;Items&quot;]=&gt; string(34) &quot;items-1, items-2, items-3, items-4&quot; <br />
} } } }</div></div>
<p>Для чтения этих данных декодируем строки файла:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$obj = json_decode($json,true);</div></div>
<p>Теперь выведем объекты в этом файле. Например, мы хотим достать заголовок один, который находится под ключевым атрибутом <strong>title_one</strong>. Для этого воспользуемся следующей командой:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$title_one = $obj['response']['items'][0]['title_one'];</div></div>
<p>Мы сохранили данные в переменную title_one. Теперь с ними можно делать всё что угодно. Например, вывести её:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">echo $title_one;</div></div>
<p>В этом случае будет показано:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">Данные заголовка один</div></div>
<h2>Как получить значение через запятую в массиве данных файла JSON</h2>
<p>Пример посложнее. Мы хотим достать отдельные данные для &#171;items-1, items-2, items-3, items-4&#187;. Чтобы каждое значение было схвачено в отдельную переменную.</p>
<p>Для этого, сначала мы обратимся к этой строке:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$json_items = $obj['response']['items'][0]['Items'];</div></div>
<p>Теперь требуется преобразовать данные из строки в массив. Воспользуемся функцией разбиения строки в PHP:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">$arr = explode(&quot;, &quot;, $json_items);</div></div>
<p>Теперь мы можем вывести отдельные элементы так:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">echo $arr[0];<br />
echo $arr[1];<br />
echo $arr[2];<br />
echo $arr[3];</div></div>
<p>Причем первое значение выводится с параметром [0]. Так исторически сложилось.</p>
<h2>Ошибки при выводе JSON</h2>
<p>Если вы сталкиваетесь с командой вроде:</p>
<div class="highlight">
Notice: Undefined index: title_one in /folder1/folder2/folder3/file.php on line 23</div>
<p>Значит неправильно указан путь к данным.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/json-to-php/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>API Кинопоиска, рейтинги фильмов</title>
		<link>https://ploshadka.net/api-kinopoisk/</link>
					<comments>https://ploshadka.net/api-kinopoisk/#comments</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Sat, 28 Oct 2017 10:23:27 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Полезные сайты]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Для продажи]]></category>
		<category><![CDATA[Парсинг страниц]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=3271</guid>

					<description><![CDATA[Заметка для тех кто ищет API кинопоиска. Понадобились мне определенные данные о фильмах. Начал искать API кинопоиска. Вроде бы проскальзывала информация, что он есть. На деле оказалось, что официального API для кинопоиска не существует. Хотя возможно он есть, но открыт...]]></description>
										<content:encoded><![CDATA[<p>Заметка для тех кто ищет API кинопоиска.  <span id="more-3271"></span></p>
<p>Понадобились мне определенные данные о фильмах. Начал искать API кинопоиска. Вроде бы проскальзывала информация, что он есть. На деле оказалось, что официального API для кинопоиска не существует. </p>
<p>Хотя возможно он есть, но открыт для избранных сайтов и по запросу через поддержку кинопоиска.</p>
<div class="highlight">API – готовый набор данных, предоставляемых сервисом, для использования во внешних программных продуктах.</div>
<p>В сети можно наткнуться на сайт <a href="http://docs.kinopoiskapi.apiary.io" rel="noopener nofollow" target="_blank">docs.kinopoiskapi.apiary.io</a>. Красиво выглядит, но сегодня он не работает. Можно даже не пытаться.</p>
<p>При сильном желании что-то стороннее найдётся. Не буду рекламировать, чтобы не прикрыли, но в любом случае это всё равно работает несовершенно. </p>
<h2>Рейтинги на фильмы</h2>
<p>Официально Кинопоиск отдаёт всем желающим рейтинги по адресу:<br />
<strong>https://rating.kinopoisk.ru/номер фильма.xml</strong></p>
<p>Там есть нюансы, если выводить рейтинги напрямую, то могут быть лаги на сайте. Так что лучше рейтинг сохранять у себя на сайте, а затем выводить.</p>
<div class="highlight">У меня есть готовое решение для WordPress, которое сохраняет рейтинги в произвольное поле сайта, а затем выводит его на сайте. Такую штуку делал для себя. Инструмент продаётся вместе с конечной настройкой, чтобы всё работало. Так что, если лень или не знаете, как сами сделать, обращайтесь.</div>
<h2>Пару слов об API</h2>
<p>Почему разработчики многих сайтов не спешат делать API? Думаю ответ кроется в монетизации. Очевидно, что если вы будете пользоваться сторонними приложениями, то на вас вряд ли как-то можно будет заработать. </p>
<p>С другой стороны API снижает нагрузку на сервисы компании. Ведь, если информация нужна, специалисты всё равно её добудут. </p>
<p>Интересная ссылка как развививалось становление API на <a href="https://habrahabr.ru/company/wargaming/blog/229475/" rel="noopener" target="_blank">habrahabr</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/api-kinopoisk/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
	</channel>
</rss>
