PHP objet fermeture contenu

Fermé
hiraku-79 Messages postés 86 Date d'inscription jeudi 10 mars 2011 Statut Membre Dernière intervention 28 février 2016 - 20 juin 2013 à 15:44
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 21 juin 2013 à 15:24
Bonjour,

Aujourd'hui j'ai décidé de crée mon site en php objet

Tous va bien lorsque je rentre du html basique mais lorsque que je met une structure un peu complexe php et html dans mon contenu la BADABOUM à cause des ' ' et " " cela ferme mal les balises est j'ai plein d'erreur ><

Quelqu'un connais un balisage efficace

Voici la structure de base d'une page

<?php

include_once('./class/page_base.class.php');

$page = new page_base();

$page->titre = 'magnifique titre';

$page->corps = '


CONTENU à copier ici


';

$page->affiche();

?>

au lieu de ' ' je dois mettre quoi pour que tous mon code de contenu soit pris en compte.

Merci


A voir également:

4 réponses

JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
20 juin 2013 à 21:59
Il n'y a que les quotes et double quotes qui peuvent contenir un texte.

echo 'Chaîne de caractères interprété comme étant un texte.';

echo "Chaîne de caractères interprété comme étant un texte.";

echo 'Apprendre l'alphabet.'; //Ici, il y a une erreur

Ce qui est en gras est interprété comme étant du texte, mais ce qui suit le quote (en italique) est interprété comme étant un code PHP, mais puisqu'en PHP le mot "alphabet" n'a aucune signification, alors une erreur est engendrée.

Donc la solution, c'est d'échapper toute les quotes qui posent problèmes.
echo 'Apprendre l\'alphabet.';

Donc comme je l'ai dis, soit tu parcours ton contenu de ta page ligne par ligne, et tu échappes au fur et a mesure que tu rencontre des quotes(double), soit tu créée un script qui extrait ton contenu a partir d'un fichier texte, et te retourne le résultat.
1
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
21 juin 2013 à 15:24
Si jamais il récupère contenu dans un fichier text ou sur une autre page,
ya la fonction file_get_content qui retour un string donc pas de problème de cote ou de double cote.

$page->corps = file_get_content('article1.txt');
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
Modifié par jeremy.s le 20/06/2013 à 17:12
Salut,

Tu peux gardé les ' '
Mais attention,
Si dans ton contenu tu as des mots commes l'affiche, ou j'aime, les ' des mots vont fermées ta variable php.

La solution c'est donc de mettre :
$page->corps = " le contenu du message avec des l'affiche et des j'aime qui ne posent pas de problème ";
Mais denouveau, si tu a des citations par exemple et que tu veux cité une phrase célèbre dans ton corps "Bonjour" par Jérémy
Il y aura denouveau un probleme, donc dans ce cas il faut banalisé le caractère ", c'est à dire dire à php que c'est du text et non du code php. Pour cela on utilise \"

Donc au final :
$page->corps = " le contenu du message avec des l'affiche et des j'aime qui ne posent pas de problème. Mais je peux également faire une citation sans problème : \"Bonjour\" par Jérémy";


Jérémy
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
20 juin 2013 à 19:30
Salut,

le problème est dans la partie "CONTENU A COPIER".

Si dans ce contenu il existe des quotes, c'est normal qu'il y ait des erreurs.
La solution c'est d'échapper tout les quotes avec un back slash "\".

Maintenant je n'ai aucune idée de ce que peut être ce contenu, car un site en PHP est supposé être dynamique, le contenu est supposé se trouvé dans une base de données ou au pire des cas dans des fichiers textes, donc si tu copie manuellement le texte qui doit se trouver dans la page finale dans chaque page PHP, alors en fin de compte, l'utilisation de PHP n'aura servi a rien.

Sinon, si c'est un cas "particulier" ou tu as besoin de copier du texte dans ta page PHP, et que tu veux automatiser le processus, alors copie tes textes dans des fichiers textes, et importe les via PHP en ajoutant des backslashes automatiques.

J'espère avoir bien compris ton problème.
0
hiraku-79 Messages postés 86 Date d'inscription jeudi 10 mars 2011 Statut Membre Dernière intervention 28 février 2016 30
20 juin 2013 à 21:35
Merci pour vos suggestions mais je n'ai pas envie de me retaper toute mes lignes de code. Je pense que je vais le laisser en php normal.
Je voulais juste savoir si en php objet il y avait une balise ou syntaxe qui permet de copier coller cash le contenu en question.

Voici le site : http://drama-life.fr/Mines/welcome.php ( pas encore fini )
mais vous comprendrez le principe :)

0