Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Функция форматирования кода

#1 Vialls

Vialls
  • Пользователь
  • 581 сообщений
  • Репутация: 1
0

Отправлено 07 Апрель 2008 - 10:48

ZiTosS
Не в тему немного, а где функции php найти, которая форматирует код?

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Апрель 2008 - 20:08

Что ты понимаешь под форматированием кода?
Может ты имеешь ввиду регулярки, тогда вот
Replace

Будут вопросы говори, если не это, разъясни точнее, не понял, что значит форматирование кода!!!
  • 0

#3 Vialls

Vialls
    Topic Starter
  • Пользователь
  • 581 сообщений
  • Репутация: 1

Отправлено 07 Апрель 2008 - 20:25

Я имел ввиду, есть готовые функцие, которым передаешь строку(код допустим html) и функция возвращает строку с подсвеченным кодом? Просто самому лень писать.
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Апрель 2008 - 20:42

Есть, у меня даже в книгке было, ща выложу )))
Скрипт форматирует PHP-код, делая его с подсветкой, не знаю как не смотрел!

Взято из книги "Головоломки на PHP для хакера"

<?php

function shighlight($document)

{

  // Преобразуем угловые скобки для отображения HTML-тегов

  $document = str_replace("<", "&lt;", $document);

  $document = str_replace(">", "&gt;", $document);

  // Преобразуем теги PHP <?php и ? >

  $tegs = array("'&lt;?php'si","'&lt;?'si","'?&gt;'si");

  $replace = array("<font color=#95001E>&lt;?php</font>",

				   "<font color=#95001E>&lt;?</font>",

				   "<font color=#95001E>?&gt;</font>");

  $document = preg_replace($tegs, $replace, $document);

  // Преобразуем комментарии

  $document = preg_replace("'((?:#|//)[^n]*|/*.*?*/)'si",

						   "<font color=#244ECC>1</font>",

							$document);

  // Осуществляем переносы строк

  $document = preg_replace("'(n)'si","<br>1", $document);

  // Преобразуем функции

  $document = preg_replace ("'([w]+)([s]*)[(]'si",

							"<font color=#0000CC><b>1</b></font>2(",

							$document);

  // Преобразуем операторы

  $separator = array("','si",

					 "'-'si",

					 "'+'si",

					 "'('si",

					 "')'si",

					 "'{'si",

					 "'}'si");

  $replace = array("<font color=#1A691A>,</font>",

				   "<font color=#1A691A>-</font>",

				   "<font color=#1A691A>+</font>",

				   "<font color=#1A691A>(</font>",

				   "<font color=#1A691A>)</font>",

				   "<font color=#1A691A>{</font>",

				   "<font color=#1A691A>}</font>");

  $document = preg_replace($separator,$replace,$document);

  // Преобразуем переменные PHP

  $document = preg_replace("'([$]{1,2}[A-Za-z_]+)'si",

						   "<b><font color=#000000>1</font></b>",

						   $document);

  // Преобразуем строки, заключенные в одинарные и двойные кавычки

  $str = array("'("[^"]*")'si",

				 "'('[^']*')'si");

  $replace = array("<font color=#FFCC00>1</font>",

				   "<font color=#FFCC00>1</font>");

  $document = preg_replace($str, $replace, $document);

  // Преобразуем зарезервированные слова

  $str = array("'(echo)'si",

			   "'(print)'si",

			   "'(while)'si",

			   "'(for)'si",

			   "'(if)'si",

			   "'(else)'si",

			   "'(switch)'si",

			   "'(function)'si",

			   "'(array)'si");

  $replace = array_fill(0,

						count($str),

						"<b><font color=#0000CC>1</font></b>");

  $document = preg_replace($str, $replace, $document);



  // Возвращаем результат работы функции

  return "<code>$document</code>";

}

?>

  • 0

#5 Vialls

Vialls
    Topic Starter
  • Пользователь
  • 581 сообщений
  • Репутация: 1

Отправлено 07 Апрель 2008 - 21:04

Спасибо огромное! Как раз - то, что нужно!!!!
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Апрель 2008 - 21:08

Пажайлуста, в книге многа полезных скриптов, сокровеще моё! ;)
  • 0

#7 glinjanumaxim

glinjanumaxim
  • Заблокированные
  • 57 сообщений
  • Репутация: 0

Отправлено 08 Апрель 2008 - 18:06

если что обращайся
  • 0


Оформление форума – IPBSkins.ru