# Is there a good definition for highlighting PHP code in listings?

Does someone have a good definition for highlighting PHP code with the listings package?

-
According to the manual a PHP definition is provided. –  qubyte May 1 '12 at 11:22
Sure, but there are no colours in this definition? –  Sam May 1 '12 at 11:25
See the manual for details on how to change the default monochrome appearance. Note that this is not actually to do with PHP or any other language. You assign a style (with a colour if you choose) to something such as a string, and listings determines what part of the source code is a string and applies your style. Therefore you styling can apply to any language. See sections 1.3 and 2.8 of the manual for an example. –  qubyte May 1 '12 at 11:33
I'm aware of. My question is, does someone have a such definition, which meet the code specialities of php? –  Sam May 1 '12 at 11:42
Perhaps not too helpful, but for the former take a look at this: tex.stackexchange.com/questions/42889/… Ignore the literate part of that style as it's not really necessary. Maybe it'll give you a good starting point. –  qubyte May 1 '12 at 11:57

listings provides lots of options to color/customize the format of the style to your likings. Of course you should choose php as a language.

This may be a starting point:

\documentclass{article}
\usepackage{listings,xcolor}
\usepackage{inconsolata}

\definecolor{dkgreen}{rgb}{0,.6,0}
\definecolor{dkblue}{rgb}{0,0,.6}
\definecolor{dkyellow}{cmyk}{0,0,.8,.3}

\lstset{
language        = php,
basicstyle      = \small\ttfamily,
keywordstyle    = \color{dkblue},
stringstyle     = \color{red},
identifierstyle = \color{dkgreen},
emph            =[1]{php},
emphstyle       =[1]\color{black},
emph            =[2]{if,and,or,else},
emphstyle       =[2]\color{dkyellow}}

\begin{document}

\begin{lstlisting}
<?php
/* this is a stupid example */
$username =$_POST["username"];
$passwort =$_POST["passwort"];

$pass = md5($passwort);

// another comment
if($username=="Andavos" and$pass=="fd0d9cdefd5d42dfa36c74a449aa8214")
{
echo "Herzlich Willkommen";
}
else
{