Je m'attendais à une solution de la part des développeurs de notepad++, en ramenant la fonctionnalité de mise en évidence du code html dans le code php. Mais cela ne se produit pas... J'ai donc trouvé une solution de contournement temporaire :
1) Ouvrez le fichier php dans notepad++.
2) Définir la langue HTML : aller dans Langue => H => HTML
3) Maintenant, les balises html sont mises en évidence dans le code php.
Si vous fermez et ouvrez à nouveau le fichier php, vous devrez exécuter 1-3 à nouveau.
Pour que cela se fasse automatiquement :
EDITER langs.xml
1) Remplacer
<Language name="html" ext="html htm shtml shtm xhtml hta"
avec
<Language name="html" ext="html htm shtml shtm xhtml hta php"
Cela permettra aux fichiers php d'être analysés comme du langage html.
2) Remplacer
<Language name="php" ext="php php3 phtml"
avec
<Language name="php" ext="php1 php3 phtml"
Cela empêchera les fichiers php d'être analysés en tant que langage php. Si vous ne faites pas l'étape 2 => l'étape 1 n'a aucun effet.
EDITER functionList.xml :
La liste des fonctions sera vide après ces changements. Voici la solution : Il faut modifier functionList.xml
1) Remplacer :
<association langID="6" id="java"/>
<association langID="9" id="xml_node"/>
avec
<association langID="6" id="java"/>
<association langID="8" id="html_function"/>
<association langID="9" id="xml_node"/>
2) juste après la fermeture de la dernière, ajoutez ceci (c'est une copie de la fonction php renommée en fonction html_) :
<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>
EDITAR \plugins\APIs\html.xml y \plugins\APIs\php.xml (ceci est nécessaire pour notepad++ version 6.9.1 et plus)
1) Copier le contenu de php.xml entre <AutoComplete>...</AutoComplete>
et le coller dans html.xml, avant </AutoComplete>