Como você exibe seu código fonte php com destaque ou ver fonte?

Como você exibe seu código-fonte php com destaque ou ver fonte ou há mais alternativas para isso?

   

O PHP possui duas funções nativas que podem ser de interesse: highlight_file() e highlight_string() . Se nenhum desses é ideal, você também pode usar o Google Code Prettify para alcançar esse resultado. Esta é a solução de muitos usos, incluindo o próprio StackOverflow.

Alternativas:

  • SyntaxHighlighter
  • SHJS
  • jQuery Chili
  • Mais leve para MooTools
  • GeSHi

Você pode usar a function php highlight_file para ecoar a fonte de um arquivo com realce de syntax.

Em muitos servidores se você fornecer uma extensão de arquivo .phps, o código-fonte será exibido e realçado.

GeSHi – Sintaxe genérica O marcador é outra biblioteca javascript opensource.

Eu faço minha edição no gvim, que pode ser configurada para fazer resalte de código sensível à syntax (entre outras coisas).

O PHP possui uma function incorporada que converte uma seqüência de caracteres em HTML colorido

http://php.net/manual/en/function.highlight-string.php

assim…

 < ?php print highlight_string(file_get_contents(__FILE__)); ?> 

demonstra isso.

Você também pode ter um lokk no GeSHi

http://qbnz.com/highlighter/

HTH

C.

Eu não gosto de carregar meus scripts de hospedeiros estrangeiros por vez – especialmente não de mecanismos de pesquisa como PRISM. Isso não é tão seguro e está matando o tempo de carga. Se você tiver experiência com o RegExp, ele é feito rapidamente.

Aqui está um trecho que usei para um breve tutorial do PHP. Você precisa completá-lo com algum CSS, comandos no último RegExp e onload = ‘init ()’ na etiqueta do corpo.

 function init() { var codes= document.getElementsByTagName('code') ,str= '' ,len= codes.length ,c= 0 ; for(c; c < len; c++){ str = codes[c].textContent; str=str.replace(/(\bnull\b|\b[0-9]+\b|\btrue\b|\bfalse\b|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,"$1"); str=str.replace(/(\(|\)|\[|\]|\{|\})/g,"$&"); str=str.replace(/\$[az]\w*/gi,"$&"); str=str.replace(/( \! | \!\= | \!== | = | == | === | > | >= | < | <= | and | or )/g,"$&"); str=str.replace(/\b(for|function|return|unset|count|global|if|else|else if|intval|int|array)\b/g,"$1"); codes[c].innerHTML=str; } }