Notepad ++ - marcas HTML HighLight em php

2

Tenha o php com as tags html de eco. notepad ++ 6.4.5 está destacando ok as tags dentro php e outisde php.

notepad ++ 6.5 está destacando ok as tags somente outisde php e NO HIGHLIGHT dentro do código php.

Como ativar o realce de tags dentro do código php?

notepad ++ 6.4.5 :

notepad ++ 6.5 :

    
por ihtus 09.10.2013 / 15:15

2 respostas

1

Eu estava esperando uma solução dos desenvolvedores do notepad ++, trazendo de volta o recurso de destacar o código html dentro do código php. Mas isso não está acontecendo ... Então, temos uma solução temporária:

1) Abra o arquivo php no notepad ++

2) Definir HTML languahe: vá para Idioma = > H = > HTML

3) Agora as tags html são destacadas no código php.

Se você fechar e abrir novamente o arquivo php, você terá que executar 1-3 novamente.

Para fazer isso automaticamente:

EDIT langs.xml

1) Substitua

<Language name="html" ext="html htm shtml shtm xhtml hta"

com

<Language name="html" ext="html htm shtml shtm xhtml hta php"

Isso fará com que os arquivos php sejam analisados como linguagem html

2) Substitua

<Language name="php" ext="php php3 phtml"

com

<Language name="php" ext="php1 php3 phtml"

Isso irá desabilitar arquivos php para serem analisados como linguagem php. Se não estiver fazendo o passo 2 = > o passo 1 não tem efeito.

EDIT functionList.xml :

A lista de funções ficará vazia após essas alterações. Aqui está a correção: Precisa editar functionList.xml

1) Substitua:

<association langID="6" id="java"/>
<association langID="9" id="xml_node"/>

com

<association langID="6" id="java"/>
<association langID="8" id="html_function"/>
<association langID="9" id="xml_node"/>

2) logo após o último é fechado, adicione isto (é uma cópia do php_function renomeado para html_function):

        <parser id="html_function" displayName="PHP" commentExpr="((/\*.*?\*)/|(//.*?$))">
            <classRange
                mainExpr="^[\s]*(class|abstract[\s]+class|final[\s]+class)[\t ]+[\w]+([\s]*|[\s]*(extends|implements)[\s]+[\w\]+[\s]*)?\{"
                openSymbole = "\{"
                closeSymbole = "\}"
                displayMode="node">
                <className>
                    <nameExpr expr="(class|abstract[\s]+class|final[\s]+class)[\s]+[\w]+"/>
                    <nameExpr expr="[\s]+[\w]+\Z"/>
                    <nameExpr expr="[\w]+\Z"/>
                </className>
                <function
                    mainExpr="^[\s]*((static|public|protected|private|final)*(\s+(static|public|protected|private|final))+[\s]+)?(function[\s]+)+([\w]+([\s]+[\w]+)?([\s]+|\*[\s]+|[\s]+\*|[\s]+\*[\s]+))?([\w_]+[\s]*::)?(?!(if|while|for|switch))[\w_~]+[\s]*\([^\{]*\{">
                    <functionName>
                        <funcNameExpr expr="(?!(if|while|for|switch))[\w_]+[\s]*\([^\{]*"/>
                        <!-- comment below node if want display method with parmas -->
                        <funcNameExpr expr="(?!(if|while|for|switch))[\w_]+"/>
                    </functionName>
                </function>
            </classRange>
            <function
                mainExpr="^[\s]*function[\s]+\w+\("

                displayMode="$className->$functionName">
                <functionName>
                    <nameExpr expr="(?!(if|while|for))[\w_]+[\s]*\("/>
                    <nameExpr expr="(?!(if|while|for))[\w_]+"/>
                </functionName>
                <className>
                    <nameExpr expr="[\w_]+(?=[\s]*::)"/>
                </className>
            </function>
        </parser>

EDIT \ plugins \ APIs \ html.xml e \ plugins \ APIs \ php.xml (isso é necessário para o notepad ++ versão 6.9.1 e superior)

1) Copie o conteúdo em php.xml entre <AutoComplete>...</AutoComplete> e cole-o em html.xml, antes de </AutoComplete>

    
por 22.10.2014 / 19:14
0

Você deve criar seus documentos PHP como modelos de documentos HTML, como visto abaixo. O Notepad ++ está apenas suportando boas práticas de codificação tratando suas strings echo como strings PHP e não destacando-as. Se você quiser quebrar em HTML, basta colocar um ?> para finalizar o destaque da sintaxe do PHP e ele será destacado como HTML. Em seguida, use <?php para iniciar o código PHP novamente, conforme necessário. Você não precisa de echo para produzir HTML, basta terminar o bloco <?php ... ?> e digitar seu HTML como faria normalmente.

<!doctype html>
<html>
...
   <div><?php echo "content"; ?></div>
...
</html>
    
por 09.10.2013 / 15:22

Tags