<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум PHP-MyAdmin.RU &mdash; По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
		<link>https://forum.php-myadmin.ru/viewtopic.php?id=2109</link>
		<atom:link href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=2109&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «По разному извлекаются тексты из БД в браузер и в файл редактирования».]]></description>
		<lastBuildDate>Fri, 25 Feb 2011 03:36:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15154#p15154</link>
			<description><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>На счет почитать - даже не знаю что сказать.</p><p>Собственно проблему кодирования символов лучше решать разделением блока кода (тот что надо кодировать) и текстового блока, который кодировать не надо.</p><p>Как вариант, можно использовать подобие BBCode, и применить к такому тексту поиск по регулярному выражению с выполнением функции обратного вызова. Звучит может и сложно, но на самом деле выглядит так.<br /></p><div class="codebox"><pre><code>&lt;?php

function encode_html($matches) {
  return htmlspecialchars(htmlspecialchars($matches[1]));
}

$str = &#039;текст
[htmlspecialchars]
&lt;html&gt;&lt;/html&gt;
[/htmlspecialchars]
текст&#039;;

echo preg_replace_callback(&#039;/\[htmlspecialchars\](.*?)\[\/htmlspecialchars\]/is&#039;, &#039;encode_html&#039;, $str);

?&gt;</code></pre></div></blockquote></div><p>Спасибо, попробую разобраться.</p>]]></description>
			<author><![CDATA[null@example.com (Юрий Иванович)]]></author>
			<pubDate>Fri, 25 Feb 2011 03:36:06 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15154#p15154</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15150#p15150</link>
			<description><![CDATA[<p>На счет почитать - даже не знаю что сказать.</p><p>Собственно проблему кодирования символов лучше решать разделением блока кода (тот что надо кодировать) и текстового блока, который кодировать не надо.</p><p>Как вариант, можно использовать подобие BBCode, и применить к такому тексту поиск по регулярному выражению с выполнением функции обратного вызова. Звучит может и сложно, но на самом деле выглядит так.<br /></p><div class="codebox"><pre><code>&lt;?php

function encode_html($matches) {
  return htmlspecialchars(htmlspecialchars($matches[1]));
}

$str = &#039;текст
[htmlspecialchars]
&lt;html&gt;&lt;/html&gt;
[/htmlspecialchars]
текст&#039;;

echo preg_replace_callback(&#039;/\[htmlspecialchars\](.*?)\[\/htmlspecialchars\]/is&#039;, &#039;encode_html&#039;, $str);

?&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Thu, 24 Feb 2011 20:19:33 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15150#p15150</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15149#p15149</link>
			<description><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>В textarea сущности вида &amp;lt; обязательно будут преобразованы в соответствующие символы, поэтому для textarea символ &lt; в виде сущности будет выглядеть так (&amp;amp;lt;), то есть нужна двойная кодировка.</p><p>Если есть текст к которому нельзя применять функцию htmlspecialchars() и в нем же есть текст для которого эта кодировка обязательна, то лучше подумать над разделением этих блоков текста, иначе потребуется мучительная кодировка символов вручную.</p></blockquote></div><p>Спасибо. ??? Я в растеренности. Что почитать? Посоветуйте.</p>]]></description>
			<author><![CDATA[null@example.com (Юрий Иванович)]]></author>
			<pubDate>Thu, 24 Feb 2011 17:31:35 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15149#p15149</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15148#p15148</link>
			<description><![CDATA[<p>В textarea сущности вида &amp;lt; обязательно будут преобразованы в соответствующие символы, поэтому для textarea символ &lt; в виде сущности будет выглядеть так (&amp;amp;lt;), то есть нужна двойная кодировка.</p><p>Если есть текст к которому нельзя применять функцию htmlspecialchars() и в нем же есть текст для которого эта кодировка обязательна, то лучше подумать над разделением этих блоков текста, иначе потребуется мучительная кодировка символов вручную.</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Thu, 24 Feb 2011 17:16:59 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15148#p15148</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15147#p15147</link>
			<description><![CDATA[<div class="quotebox"><cite>DmitryV сказал:</cite><blockquote><p>текст вида:<br />заменить на:</p><p>&amp;lt;html&amp;gt;<br />&amp;lt;head&amp;gt;<br />&amp;lt;title&amp;gt;Моя первая страница в интернете&amp;lt;/title&amp;gt;<br />&amp;lt;/head&amp;gt;<br />&amp;lt;body&amp;gt;<br />&amp;lt;p&amp;gt;А это Мои первые слова на WEB-странице!!&amp;lt;/p&amp;gt;<br />&amp;lt;/body&amp;gt;<br />&amp;lt;/html&amp;gt;</p></blockquote></div><p>Всё это я делаю и сохраняю в БД в таком виде, но когда я извлекаю из БД в форму ( в <strong>textarea</strong>) , то все обозначения типа &amp;lt; заменяются на их оригиналы, а при извлечении того же текста из БД в баузер всё происходит правильно.<br />А htmlspecialchars(), обработает всё, и нужное и не нужное, мне так кажется. Я же сохраняю в БД код с обыкновенными тегами, которые не надо преобразовывать и уже преобразованные мной теги, которые затем непонятным мне образом превращаются снова в обычные теги. Вот в этом то и есть моя проблема.<br />Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (Юрий Иванович)]]></author>
			<pubDate>Thu, 24 Feb 2011 15:12:29 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15147#p15147</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15146#p15146</link>
			<description><![CDATA[<p>текст вида:<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;Моя первая страница в интернете&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;p&gt;А это Мои первые слова на WEB-странице!&lt;/p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p><p>заменить на:</p><p>&amp;lt;html&amp;gt;<br />&amp;lt;head&amp;gt;<br />&amp;lt;title&amp;gt;Моя первая страница в интернете&amp;lt;/title&amp;gt;<br />&amp;lt;/head&amp;gt;<br />&amp;lt;body&amp;gt;<br />&amp;lt;p&amp;gt;А это Мои первые слова на WEB-странице!!&amp;lt;/p&amp;gt;<br />&amp;lt;/body&amp;gt;<br />&amp;lt;/html&amp;gt;</p>]]></description>
			<author><![CDATA[null@example.com (DmitryV)]]></author>
			<pubDate>Wed, 23 Feb 2011 20:28:01 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15146#p15146</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15145#p15145</link>
			<description><![CDATA[<div class="quotebox"><cite>Юрий Иванович сказал:</cite><blockquote><p>Текст надо сохранить в виде одной строки.</p></blockquote></div><p>Текст сохранить в базе данных? Если да, то не вижу совершенно никаких проблем.</p><p>Если данный текст надо вывести из БД, то я уже упомянул функцию htmlspecialchars(), которую и надо использовать.</p>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Wed, 23 Feb 2011 20:27:19 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15145#p15145</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15144#p15144</link>
			<description><![CDATA[<p>В догонку, Мне надо сделать также, как выглядит, приведённый мной отрывок текста, в предыдущем сообщении. Теперь, мне кажется, всё наглядно. Может быть это очень просто, но я этого не знаю.<br />Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (Юрий Иванович)]]></author>
			<pubDate>Wed, 23 Feb 2011 17:30:09 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15144#p15144</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15143#p15143</link>
			<description><![CDATA[<p>Вот отрывок текста:<br /></p><div class="quotebox"><blockquote><p>Всё, текстовый документ создан.<br />Откройте его и напишите в нем следующий код:</p><p><strong>&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;Моя первая страница в интернете&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;p&gt;А это Мои первые слова на WEB-странице!&lt;/p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</strong><br />Теперь сохраним наш файл: выбираем в меню блокнота &quot;ФАЙЛ - СОХРАНИТЬ КАК&quot;, и в выпавшем окне сохраняем наш документ под каким либо именем, например, page.html. Обязательно в латинице и с расширением (после точки) html</p></blockquote></div><p>Весь текст и то, что выделено жирным надо сохранить в таком же виде, но я не могу выделить жирную часть в отдельную строку. Если попытатья это сделать, то мне кажется, что это будет неоправдано сложным.<br />Текст надо сохранить в виде одной строки. Но если у вас есть какой-либо хитроумный способ, пожалуйста, поделитесь им.<br />Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (Юрий Иванович)]]></author>
			<pubDate>Wed, 23 Feb 2011 17:25:20 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15143#p15143</guid>
		</item>
		<item>
			<title><![CDATA[Re: По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15142#p15142</link>
			<description><![CDATA[<p>Без примера я не очень понял, но если надо вывести html код на странице в его исходном виде, то следует обязательно применять функцию кодирования htmlspecialchars().<br /></p><div class="codebox"><pre><code>print htmlspecialchars($string);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Hanut)]]></author>
			<pubDate>Wed, 23 Feb 2011 16:50:14 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15142#p15142</guid>
		</item>
		<item>
			<title><![CDATA[По разному извлекаются тексты из БД в браузер и в файл редактирования]]></title>
			<link>https://forum.php-myadmin.ru/viewtopic.php?pid=15141#p15141</link>
			<description><![CDATA[<p>Свои тексты я пишу в Дримвиавере и когда мне необходимо ввести в текст элементы кода, то редактор заменяет некоторые элементы на их условные эквиваленты. Заношу весь текст в виде кода в БД через админку сайта, проверяю в баузере и вижу, что всё так как должно быть. Но если мне приходится редактировать этот же текст и я вытаскиваю его из БД в форму для редактирования, то уже вижу, что все условные обозначения заменились на их оригиналы и, естественно, при таком исходе получается, что мои фрагменты кода становятся невидимыми для браузера. Я пытался фрагменты кода заключать в теги <strong>pre</strong> и&nbsp; <strong>code</strong>, не помогает. Вывод текста из БД в браузер и в форму редактиования осуществляется одними и теми же способами через <strong>printf</strong> и <strong>$myrow</strong> в нужное место. Почему есть разница в результате не понимаю. Научите, пожалуйста, делать нормальные листинги фрагментов кода. Возможно я просто не знаю этого так как я самоучка.<br />Спасибо</p>]]></description>
			<author><![CDATA[null@example.com (Юрий Иванович)]]></author>
			<pubDate>Wed, 23 Feb 2011 15:03:20 +0000</pubDate>
			<guid>https://forum.php-myadmin.ru/viewtopic.php?pid=15141#p15141</guid>
		</item>
	</channel>
</rss>
