IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: zvyrayneni syntaxe

Aktivity
Avatar
bob_skate
Člen
Avatar
bob_skate:23.5.2015 11:00

Ahoj,
snazim se nacist externi soubor .html, a potom za pomoci regularnich vyrazu obarvit nektere tagy <p> na modro atd.

<?php

        function highlight_file_with_line_numbers($file) {//prevest do textu
            $code = substr(highlight_file($file, true), 36, -15);
            $lines = explode('<br />', $code);
            echo "<code><span style=\"color: #000000\">";
            //Loop lines
            foreach ($lines as $i => $line) {
                $htmlRow = preg_replace('(&lt;h([1-6])&gt;(.*?)&lt;/h\1&gt;)e', '"<h$1 style=color:red>" . strtoupper("$2") . "</h$1>"', $lines[$i]);
                echo $htmlRow;
            }

            //Close span
            echo "</span></code>";
        }

        $file = "./index.html";
        highlight_file_with_line_numbers($file);
        ?>

Místo toho mi to ten kod provede, jak to predelat? dekuji za rady

 
Odpovědět
23.5.2015 11:00
Avatar
Odpovídá na bob_skate
Michal Šmahel:23.5.2015 13:02

Kód máš vysvětlený, jen si ho uprav, aby četl soubory a přidej si další tagy a globální akci.

<?php
         function highlight_file_with_line_numbers() {
             //Kód pro ukázku, odstavec nebude fungovat, musel bys mu vytvořit další preg_replace
             $code = "
<h1>Nadpis</h1>
<h2>Nadpis 2</h2>
<h3>Nadpis 3</h3>
<p>Odstavec</p>
                     ";
             //Rozdělení po řádcích
             $lines = explode('<br />', $code);
             //Určení, že se jedná o kód a nastavení výchzí barvy na černou
             echo "<code><span style=\"color: #000000\">";
             //Obarvení nastavených tagů
             foreach ($lines as $i => $line) {
                 //Nahrazení
                 $htmlRow = preg_replace('(<h([1-6])>(.*?)</h\1>)', '<span style="color: red;">&lt;h\1&gt;\2&lt;/h\1&gt;</span><br />', $lines[$i]);
                 //Sem můžeš přidat preg_replace pro další tag
                 //Výpis
                 echo $htmlRow;
             }
             echo "</span></code>";
         }
         //Zavolání funkce
         highlight_file_with_line_numbers();
?>
Nahoru Odpovědět
23.5.2015 13:02
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.