æ§æãã¤ã©ã¤ã表示
PHPãã¡ã¤ã«ã®æ§æãã¤ã©ã¤ã表示ã«ã¤ãã¦ã
æ§æãã¤ã©ã¤ã表示ã¨ã¯ï¼
PHPãå©ç¨å¯è½ãªå¤ãã®ã¦ã§ããµã¼ãã§ã¯ãæ¡å¼µåãphpsã®ãã¡ã¤ã«ã¯èªåçã«æ§æãã¤ã©ã¤ã表示ãããããã«ï¼åæè¨å®ã§ï¼è¨å®ããã¦ãã¾ããä¾ãã°example.phpsã®ãããªãã¡ã¤ã«ã¯ãæ§æãã¤ã©ã¤ãããã½ã¼ã¹ãã¡ã¤ã«ã¨ãã¦è¡¨ç¤ºããã¾ãã
次ã®ä¾ã¯ãfoo.phpãã¡ã¤ã«ãexample.phpãã¡ã¤ã«ã§æ§æãã¤ã©ã¤ã表示ããéã®ä¾ã§ãã
foo.phpãã¡ã¤ã«<?php phpinfo(); ?>example.phpãã¡ã¤ã«<?php highlight_file("foo.php") ?>
PHP 4 ã§ã¯ãä¸ã®ä¾ã®åºåã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
<code><font color="#000000">
<font color="#0000BB"><?php phpinfo</font><font color="#007700">(); </font><font color="#0000BB">?></font>
</font>
</code>ã¾ããPHP 5 ã§ã¯ãä¸ã®ä¾ã®åºåã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
<code><span style="color: #000000">
<span style="color: #0000BB"><?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?></span>
</span>
</code>PHP 5 ã§ããã°ãX/HTMLã§éæ¨å¥¨ã®fontè¦ç´ ã§ã¯ãªãspanè¦ç´ ã§ã½ã¼ã¹ããã¤ã©ã¤ãåããã¾ãããcodeè¦ç´ ãããã®ã ããspanè¦ç´ ã使ãã®ã¯ãã¼ã¯ã¢ããã¨ãã¦é©åã§ã¯ãªãã¨æãã¾ãã
注é
- PHPã®ãã¤ã©ã¤ã¿ã§ã¯ãæ¹è¡ã¯è¡åºåãã¿ã°ï¼
<br />ï¼ã§åºåãã¾ãã
æ§æãã¤ã©ã¤ã表示ã¯ã©ã¹
ã¯ã©ã¹ã®ä½æçµç·¯
æ¬ãµã¤ãã§ã®PHPã½ã¼ã¹ã®å
¬éã«éãã¦ãæ¡å¼µåãéãã©ä¸èº«ãåãï¼ã¤ã®ãã¡ã¤ã«ï¼æ¡å¼µåãphpã¨phpsã®ãã¡ã¤ã«ï¼ãæ
ã
ç¨æãããã¯ããã¾ããã§ãããããã§ãApacheã®è¨å®ãã¡ã¤ã«ï¼.htaccessï¼ã«æ¬¡ã®ãããªè¨è¿°ãæ¸ãã¦è©¦ãã¦ã¿ã¾ãããé§ç®ã§ããã
RewriteRule ^(.*)\.phps$ $1\.php [T=application/x-httpd-php-source, L]ããã§ãhighlight_file颿°ã使ã£ãç°¡ç´ ãªã½ã¼ã¹è¡¨ç¤ºç¨ã¹ã¯ãªãããæ¸ãã¦ã¿ã¾ããããã ãhighlight_fileåã³highlight_string颿°ï¼PHPçµè¾¼ã¿ã®æ§æãã¤ã©ã¤ã¿ï¼ã®åºåã¯ãX/HTMLã¨ãã¦å¥½ã¾ãããã®ã§ã¯ããã¾ãããããã§ãå³å¸ã§ããæ§æãã¤ã©ã¤ã表示ã®çºã®ã¯ã©ã¹ã使ãã¾ããã
HighlightSourceã¯ã©ã¹
public class HighlightSource extends Objectæ§é
ã³ã³ã¹ãã©ã¯ã¿
public void HighlightSource()- PHPãã¡ã¤ã«ã®æ§æãã¤ã©ã¤ã表示ãè¡ãã¾ãã
ã¡ã½ãã
public Array getHighlight()- æ§æãã¤ã©ã¤ã表示ã¢ã¼ãã®è²ã®åå¾ãè¡ãã¾ãã
- è¿ãå¤
- æ§æãã¤ã©ã¤ã表示ã¢ã¼ãã®è²ã
array( 'string' => string color, 'comment' => string color, 'keyword' => string color, 'bg' => string color, 'default' => string color, 'html' => string color );
public void setHighlight(Array $highlight)- æ§æãã¤ã©ã¤ã表示ã¢ã¼ãã®è²ã®è¨å®ãè¡ãã¾ãã
- 弿°
Array $highlight- æ§æãã¤ã©ã¤ã表示ã¢ã¼ãã®è²ãé åã§æå®ããã
$highlight = array( 'string' => string color, 'comment' => string color, 'keyword' => string color, 'bg' => string color, 'default' => string color, 'html' => string color );
public void restoreHighlight()- æ§æãã¤ã©ã¤ã表示ã¢ã¼ãã®è²ã®è¨å®ãå ã«æ»ãã¾ãã
public String dump(String $filename)- æ§æãã¤ã©ã¤ããã¾ãã
- 弿°
String $filename- ãã¡ã¤ã«ã®ãã¹ã
- è¿ãå¤
- æåæã«æ§æãã¤ã©ã¤ãããHTMLã³ã¼ããã失ææã«ã¯
FALSEãè¿ãã¾ãã
HighlightSourceStrictã¯ã©ã¹
public class HighlightSourceStrict extends HighlightSourceæ§é
ã³ã³ã¹ãã©ã¯ã¿
public void HighlightSourceStrict()- PHPãã¡ã¤ã«ã®æ§æãã¤ã©ã¤ã表示ï¼Strictçï¼ãè¡ãã¾ãã
ããããã£
public Integer $parseType- PHP5ç¨ã®ã¿ãæ§æãã¤ã©ã¤ã表示ãstrictãªæ§æã«ç½®æããéã®å¦çæ¹æ³ãè¨å®ãã¾ãã
0ãªãæ£è¦è¡¨ç¾æ¤ç´¢ï¼ããã©ã«ãï¼ã1ãªãXMLãã¼ãµã使ç¨ãã¾ãã
ã¡ã½ãã
HighlightSourceã¯ã©ã¹ãã覧ä¸ããã
ã¯ã©ã¹ã®ä½¿ç¨ä¾
次ã®ä¾ã¯ãHighlightSourceã¯ã©ã¹ã使ç¨ãããµã³ãã«ã§ãã
<?php
ini_set("include_path", "./");
// require_once("org/purl/net/osamurai/misc/HighlightSource.php"); // for PHP 4
require_once("misc/HighlightSource.php"); // for PHP 5
$phps = new HighlightSource;
$filename = 'foo.php';
$highlight = array('string' => "#DD0000", 'comment' => "#FF8000", 'keyword' => "#007700",
'bg' => "#FFFFFF", 'default' => "#0000BB", 'html' => "#000000");
$phps->setHighlight($highlight);
echo $phps->dump($filename);
unset($phps);
?>ä¸ã®ä¾ã®åºåã¯ãhighlight_file颿°ã使ç¨ããæã¨åãçµæãè¿ãã¾ãããã®éãsetHighlightã¡ã½ããã§è¨å®ããè²ã表示è²ã¨ãã¦åæ ããã¾ãããã®HighlightSourceã¯ã©ã¹ãå³å¯ãªHTMLãè¿ãããã«æ¡å¼µããã¯ã©ã¹ãHighlightSourceStrictã¯ã©ã¹ã§ãã
次ã®ä¾ã¯ãHighlightSourceStrictã¯ã©ã¹ã使ç¨ãããµã³ãã«ã§ãã
<?php
ini_set("include_path", "./");
// require_once("org/purl/net/osamurai/misc/HighlightSourceStrict.php"); // for PHP 4
require_once("misc/HighlightSourceStrict.php"); // for PHP 5
$phps = new HighlightSourceStrict;
$filename = 'foo.php';
$highlight = array('string' => "#DD0000", 'comment' => "#FF8000", 'keyword' => "#007700",
'bg' => "#FFFFFF", 'default' => "#0000BB", 'html' => "#000000");
$phps->setHighlight($highlight);
echo $phps->dump($filename);
unset($phps);
?>ä¸ã®ä¾ã®åºåã¯ã次ã®ããã«ãªãã¾ãã
<pre class="php-highlight"><code class="html"><code class="default"><?php phpinfo</code><code class="keyword">();</code> <code class="default">?></code></code></pre>注é
HighlightSourceStrictã¯ã©ã¹ã使ç¨ããå ´åã«ã¯ãè²è¨å®ã¯å¤é¨ã¹ã¿ã¤ã«ã·ã¼ãã§è¡ãã¾ãã- æ§æãã¤ã©ã¤ã表示ããã½ã¼ã¹ã³ã¼ãã«æ¹è¡ã»ç©ºç½ãªã©ã®å¶å¾¡æåãå«ã¾ããå ´åãPHPã®
highlight_file颿°ã§ã¯ãå¶å¾¡æåã®ç´åã®ã³ã¼ãã®è¦ç´ ã«å æ¬ãã¾ãããããHighlightSourceStrictã¯ã©ã¹ã®dumpã¡ã½ããã§ã¯ãç´åã®ã³ã¼ãã®è¦ç´ ã«å æ¬ãããå°ä¸ã¤brã¿ã°ã使ããã«å³å¯ãªãã¼ã¯ã¢ããã§è¡¨ç¤ºã§ãã¾ãã HighlightSourceStrictã¯ã©ã¹ãè¿ãçµæã¯ãXHTML 1.0/1.1 ã®DTDã§ãå®ç¾©ããã¦ããè¦ç´ ã使ç¨ãã¦ãã¾ãããæä¸ä½è¦ç´ ï¼preè¦ç´ ï¼ã«åå空éã示ããªãã®ã§ãXML/XHTMLã§ãå©ç¨ã®éã«ã¯ãã®ãã¨ã«æ³¨æãã¦ä¸ããã- ãå©ç¨ã®éã®æ³¨æäºé ãªã©ãã覧ä¸ããã
PHPã½ã¼ã¹ãã¥ã¼ã¢
æ¦è¦
æ§æãã¤ã©ã¤ã表示ã¯ã©ã¹ã使ç¨ãããPHPãã¡ã¤ã«ã®ã½ã¼ã¹ã³ã¼ãã表示ããçºã®ã¹ã¯ãªããã§ããæ¬ãµã¤ãã§ã®PHPã½ã¼ã¹ã®å ¬éã«ã使ç¨ãã¦ããã¹ã¯ãªããã§ãã
ãã¡ã¤ã«ä¸è¦§
注é
- ãå©ç¨ã®éã«ã¯ã
define.default.phpãdefine.phpã¨ãã¡ã¤ã«åã夿´ãã¦ãããå©ç¨ãã ããã View.php,define.phpãã¡ã¤ã«ã¯ãä»»æã®ãã£ã¬ã¯ããªã«æ ¼ç´ãã¦ä¸ããã- ãå©ç¨ã®éã®æ³¨æäºé ãªã©ãã覧ä¸ããã
è¨å®
å¿
è¦ã§ããã°ãè¨å®ãã¡ã¤ã«ï¼define.phpï¼ã§åä½è¨å®ãè¡ãã¾ããè¨å®ãã¡ã¤ã«ãããã¹ãã¨ãã£ãã¿ã§éããã³ã¡ã³ãè¨è¿°ãåèã«ããªããç·¨éãã¦ä¸ããã
ä½¿ç¨æ¹æ³
å¤æå¯¾è±¡ã¨ãªããã¡ã¤ã«ã®ãã¹ãView.phpã®ã¯ã¨ãªã¼pathã«æå®ãã¦ä½¿ç¨ãã¾ããã¯ã¨ãªã¼pathã«æå®ããå¤æå¯¾è±¡ã®ãã¡ã¤ã«ã®ãã¹ã¯ãè¨å®ãã¡ã¤ã«ã®å¤æ°$ROOT_DIRã§æå®ããããã£ã¬ã¯ããªãèµ·ç¹ã¨ãããã¹ãæå®ãã¾ãã
http://www.example.com/psv/view.php?path=/foo.phpãµã¼ãã½ããã¦ã§ã¢ãApacheã§ãå°ä¸ã¤mod_rewriteã¢ã¸ã¥ã¼ã«ã使ç¨å¯è½ãªãã°ã.htaccessãã¡ã¤ã«ã«æ¬¡ã®ãããªè¨è¿°ããããã¨ã§ãæ¡å¼µåãphpsã®ãã¹ã§è¦æ±ãããéã«View.phpã§ã½ã¼ã¹ã表示ãããã¨ãã§ãã¾ãï¼ä¸è¨ä¾ã§ã¯ãphpsãã¡ã¤ã«ãããå ´åã«ã¯ãããã使ãã¾ãï¼ã
RewriteEngine on
# åºã¨ãªãååã«ååãrewriteãã¦ãphpæ¡å¼µåã§åå¨ç¢ºèªããã
# ããåå¨ããã°ããã®ååãåããããã§ãªããã°ãªãªã¸ãã«ã®ç¶æ
ï¼phpsï¼ã®URLã«rewriteããã
RewriteRule ^(.*)\.phps$ $1 [C,E=WasPHPS:yes]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ /php/psv/View.php?path=%{REQUEST_FILENAME}.php [S=1]
RewriteCond %{ENV:WasPHPS} ^yes$
RewriteRule ^(.*)$ $1.phps [L]