Et voilà que vous avez un long texte récupéré dans des circonstances assez louches à mettre dans une variable PHP pour le traiter (qui sait ? preg_replace_callback, diff, levenshtein, ... les raisons sont multiples et ne nous concernent pas forcément).

Le problème, c'est que votre texte est bourré de ' et ".
Attendez avant de vouloir échapper chacun de ces caractères ! Vous pouvez faire plus simple.

La solution s'appelle la syntaxe Heredoc ; elle va vous permettre de récupérer le texte sans soucis.
Il s'agit d'une sorte d'équivalent PHP du <![CDATA[ XML.

Il faut tout d'abord choisir un identifieur, qui permettra de signaler au parseur le début et la fin de votre texte. N'importe quelle chaîne fera l'affaire, le plus souvent on choisit EOF.
Cette chaine doit être précédée de trois chevrons gauches : <<<.
Pour marquer le début de votre texte, vous ferez donc :



Pour indiquer la fin, il va falloir marquer à nouveau le littéral choisi (EOF ici) et lui ajouter un point virgule (comme toute instruction PHP).
Attention cependant, il y a une astuce : votre littéral doit être placé en début de ligne. Impossible donc de le mettre directement à la fin du texte, ou d'avoir une indentation dessus.

Petit exemple pour comprendre :



Notons aussi l'existence de la syntaxe nowdoc, qui est à heredoc ce que ' est à " : une chaine complètement imparsée.
Autrement dit, vos $variable resteront $variable et ne seront pas remplacés par le contenu de la variable. Pour l'utiliser, il suffit d'entourer d'apostrophes le littéral de début de chaîne (pas celui de fin) :



Il reste un dernier souci : le support pour nowdoc est assez récent (PHP 5.3.0) et il se peut que votre serveur ne l'inclue pas encore (il suffit de voir sur cette page, même GesHi qui est censé colorer le code a des soucis). Alors, à vos màj !
Pour les autres, il reste toujours la méthode "je mets tout dans un fichier et je lis avec file_get_contents()).