Ich habe die folgende Funktion geschrieben. Es ersetzt Folgendes:
Einfaches Anführungszeichen ['] mit einem Schrägstrich und einem einfachen Anführungszeichen [\'].
Backslash [\] mit zwei Backslashes [\\]
function escapePhpString($target) {
$replacements = array(
"'" => '\\\'',
"\\" => '\\\\'
);
return strtr($target, $replacements);
}
Sie können es ändern, um Zeichenersetzungen im Array $ replace hinzuzufügen oder zu entfernen. Um beispielsweise \ r \ n zu ersetzen, wird es zu "\ r \ n" => "\ r \ n" und "\ n" => "\ n".
function escapePhpString($target) {
$replacements = array(
"'" => '\\\'',
"\\" => '\\\\',
"\r\n" => "\\r\\n",
"\n" => "\\n"
);
return strtr($target, $replacements);
}
Das nette Merkmal von strtr ist, dass es lange Ersetzungen bevorzugt.
Beispiel: "Cool \ r \ nFeature" wird ausgeblendet, anstatt zu entkommen.
addcslashes($mystringWithSingleQuotes, "'\"\r\n\\\t\0..\37")