Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не отображаются как текст HTMlL теги в статье ?
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Не отображаются как текст HTMlL теги в статье ?

Страниц (1): [1]
 

1. kappa - 20 Сентября, 2011 - 02:02:36 - перейти к сообщению
Подскажите, что я не так делаю?!
У меня на запись в базу преобразовывается так

на выходе так:


Вот PHP скрипты отображает нормально, но HTML и <?php тегом проблемы.
2. Мелкий - 20 Сентября, 2011 - 09:13:15 - перейти к сообщению
htmlspecialchars_decode зачем?
3. LIME - 20 Сентября, 2011 - 09:25:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $t=' <td valign="middle" align="right">
  3.      <a href="index.php" title="Форумы портала PHP.SU"><h2 style="font-family:Tahoma; font-size:29px; margin:0px">Форумы портала&nbsp;<span style="color:#003399">PHP</span><span style="color:#009900">.</span><span style="color:#FF0000">SU</span></h2></a>
  4.  </td>';
  5.   echo '<code>'.htmlspecialchars($t).'</code>'.PHP_EOL;
  6.   echo '<code>'.$t.'</code>';
  7.  ?>
4. kappa - 20 Сентября, 2011 - 10:09:23 - перейти к сообщению
У меня получается что когда я записываю так
mysql_real_escape_string(htmlspecialchars())
а вывожу просто без htmlspecialchars_decode тогда все преобразуется в HTML сущности
включая нужные мне <b></b> в тексте., а нужно чтобы преобразовывало
только в в тегах <pre><code></code></pre>.
5. kappa - 20 Сентября, 2011 - 14:27:29 - перейти к сообщению
Даже и не знаю прям в чем причина,
пробовал скопировать напрямую в БД этот код к примеру
Спойлер (Отобразить)

А выводить с помощью htmlspecialchars(), то тупо выводит
этот же код в виде кода.
6. Мелкий - 20 Сентября, 2011 - 14:49:51 - перейти к сообщению
Кажется, методом чтения астрала, я догадался, что вам требуется:
Выводить всю HTML разметку как разметку, но в тегах <pre><code>(.*)</code></pre> выводить как мнемоники. Правильно?

тогда дорога в preg_replace_callback, заменяете всё между тегами в мнемоники.
7. kappa - 20 Сентября, 2011 - 15:29:51 - перейти к сообщению
Мелкий

Правильно. Только я не пойму как мне добраться до этих тегов <pre><code>(.*)</code></pre>.
Вот кстати на php.net нашел скрипт

PHP:
скопировать код в буфер обмена
  1. function htmlkarakter($string)
  2. {
  3.    $string = str_replace(array("<","<?PHP ", ">", '&', ''', '"','<', '>'), array("<", "<?PHP ", ">",'&','\'','"','<','>'), htmlspecialchars_decode($string, ENT_NOQUOTES));
  4.  
  5.        return $string;
  6.    
  7. }


Пытался &lt;?php заменить на <?php
Вообще что-то ничего не получается.

 

Powered by ExBB FM 1.0 RC1