Undgåelse af tegn i en streng i PHP
Escaping bruges til at skrive tegn, der har forskellige betydninger i forskellige sammenhænge.
Vi ønsker f.eks. at indsætte endnu et anførselstegn i en streng, der er omgivet af anførselstegn. Hvordan gør man det?
Der er 2 muligheder:
echo "Levi's jeans"; // Kombination af typer af anførselstegnecho 'Levi\'s jeans'; // Undgåelse af backslash
Escaping er også vigtigt, når du skriver variabler til en HTML-skabelon, hvor strengindholdet kan være i en anden kontekst og betyde noget særligt.
Derfor skal vi f.eks. ved oplistning af HTML-kode (som vi har i en variabel) behandle oplistningen, da HTML-koden ellers vil blive udført.
For eksempel:
$message = 'Hej <b>Tommy!</b>';echo $message; // Forkert!echo htmlspecialchars($message); // Ja :)
Spørgsmålet om flugt er meget komplekst, og jeg anbefaler at læse artiklen Escaping - The Definitive Guide af David Grudel.