コード例 #1
1
 public function testAutoDetection()
 {
     $hl = new Highlight\Highlighter();
     $lngs = $hl->listLanguages();
     $hl->setAutodetectLanguages($lngs);
     $failed = array();
     foreach ($lngs as $language) {
         $path = __DIR__ . DIRECTORY_SEPARATOR . "detect" . DIRECTORY_SEPARATOR . $language;
         $this->assertTrue(file_exists($path));
         $d = dir($path);
         while (false !== ($entry = $d->read())) {
             if ($entry[0] !== ".") {
                 $filePath = $path . DIRECTORY_SEPARATOR . $entry;
                 $content = file_get_contents($filePath);
                 $expected = $language;
                 $r = $hl->highlightAuto($content);
                 $actual = $r->language;
                 if ($expected !== $actual) {
                     $failed[] = "{$expected} was detected as {$actual}";
                 }
             }
         }
         $d->close();
     }
     $this->assertEquals(array(), $failed);
 }
コード例 #2
0
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
/* Sample: highlight a this code file without auto detection.
 */
require_once "Highlight/Autoloader.php";
spl_autoload_register("Highlight\\Autoloader::load");
$hl = new Highlight\Highlighter();
$r = $hl->highlight("php", file_get_contents(__FILE__));
?>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="styles/default.css">
    </head>
    <body>
        <pre><code class="hljs <?php 
echo $r->language;
?>
"><?php 
echo $r->value;
?>
</code></pre>
    </body>
コード例 #3
0
<?php

use yii\helpers\Html;
$hl = new Highlight\Highlighter();
?>
<!-- start of quickstart -->
<section class="content-separator section-quickstart">
   <div class="container">
    <div class="row">
        <div class="col-md-3">
            <a href="/tour" class="thumbnail"><img src="<?php 
echo Yii::getAlias('@web/image/front/tour.png');
?>
" title="Quick Start" alt="Quick Start"/></a>
        </div>
        <div class="col-md-9">
            <h2>Quick Start</h2>
            <p>
                Creating a project with Yii can be done in less than 5 minutes by creating a project using Composer and a project template:
            </p>
            <?php 
$r = $hl->highlight("bash", Html::encode('composer create-project --prefer-dist yiisoft/yii2-app-basic basic'));
?>
            <pre class="hljs <?php 
echo $r->language;
?>
"><?php 
echo $r->value;
?>
</pre>
            <p>
コード例 #4
0
        ?>
</span>
                                        </div>
                                        <div class="col-md-2 voting">
                                            <div class="pull-right">
                                                <span class="votes votes-up">0</span> <i class="thumbs-up"></i>
                                                <span class="votes votes-down">0</span> <i class="thumbs-down"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="comment-body">
                                    <div class="text">
                                        <?php 
        $pre_processed_text = \yii\helpers\Markdown::process($comment->text);
        $highlighter = new \Highlight\Highlighter();
        $highlighter->setAutodetectLanguages(array("php", "javascript", "html"));
        $matches = array();
        $pattern = "/<code>(.*?)<\\/code>/is";
        preg_match_all($pattern, $pre_processed_text, $matches);
        if (count($matches) > 0) {
            foreach ($matches[1] as $match) {
                $processed = $highlighter->highlightAuto(html_entity_decode($match));
                $pre_processed_text = str_replace($match, $processed->value, $pre_processed_text);
                $pre_processed_text = str_replace('<code>', '<pre><code class="hljs ' . $processed->language . '">', $pre_processed_text);
                $pre_processed_text = str_replace('</code>', '</code></pre>', $pre_processed_text);
            }
        }
        echo $pre_processed_text;
        ?>
                                    </div>
コード例 #5
0
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
$start = microtime(true);
require_once "../Highlight/Autoloader.php";
spl_autoload_register("Highlight\\Autoloader::load");
$hl = new Highlight\Highlighter();
$hl->setAutodetectLanguages($hl->listLanguages());
?>
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="../styles/default.css">
    <script src="highlight.pack.js"></script>
    <script>
        
function testDetection() {

    var table = document.getElementById('test');
    var rws = table.getElementsByTagName('TR');

    for (var i = 1; i < rws.length; i++) {
        var tds = rws[i].getElementsByTagName('TD');