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 :: Версия для печати :: Функция выводит код PHP,HTML ... в виде текста в заданных тегах.
Форумы портала PHP.SU » PHP » Пользовательские функции » Функция выводит код PHP,HTML ... в виде текста в заданных тегах.

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

1. kappa - 22 Сентября, 2011 - 18:13:34 - перейти к сообщению
Функция выводит код PHP,HTML ... в виде текста в заданных тегах.
Если необходимо на блоге вывести например PHP код в виде текста и сохраняя свой вид
кода, можно использовать эту функцию. При этом остальной код по-за тегами обрабатывается.
P.S.Данные которые попадают в БД должны проходить через mysql_real_escape_string., а на выходе <?php echo htmlspecialchars_mode($row["text"]); ?>
Нужный код должен быть в тегах <code></code>.

PHP:
скопировать код в буфер обмена
  1. function htmlspecialchars_mode($strin) {
  2.    
  3.     $str = htmlspecialchars_decode($strin);
  4.    
  5.     function funcreplace($str) {
  6.     $strarray = $str[1]; // выбераем второй элемент массива, а именно все что сдесь (.*?)
  7.     $res = str_replace(array("<", ">"), array("&_lt;", "&_gt;"),  $strarray); // &_lt; и  &_gt; должны быть без слешей
  8.    return "<code>$res</code>";
  9.    //return "<code>".htmlspecialchars($strarray)."</code>"; // можно и так, не используя str_replace
  10. }
  11.                  
  12. $res = preg_replace_callback("/<code>(.*?)<\/code>/is", 'funcreplace', $str);
  13. return $res;
  14.                
  15. }


Это моя первая пользовательская функция, поэтому сильно не ругайтесь, если что не так пишите.
2. DeepVarvar - 22 Сентября, 2011 - 19:52:28 - перейти к сообщению

 

Powered by ExBB FM 1.0 RC1