Garder les apostrophes dans PHP

Bonjour,

J'essaye d'appliquer un texte de survol au lien vers article mais cela dans
une boucle PHP de type :

<?
echo "<a href='$url_rubrique' title='[(#DESCRIPTIF|texte_script)]'>[&#149;
(#TITRE|supprimer_numero|attribut_html)]"

?>

Le problème : comme title= est suivi du caractère ', si le #DESCRIPTIF
contient ce caractère, ce sera tronqué juste après (normal) !

Ex : le #DESCRIPTIF est L'actualité du mois, qui devient juste L.

Avec le filtre texte_script, cela transforme bien l'apostrophe en le faisant
précéder d'un \ nécessaire pour le PHP, mais à l'écran ça devient alors L\

Comment faire pour générer l'anti slash en affichant le texte correctement
et entièrement ? J'ai essayé en rajoutant d'autres filtres sans succès.

Merci à vous tous :o)

--
Ivan

Tu as essayé (#DESCRIPTIF|entites_html) ou
(#DESCRIPTIF|supprimer_tags|attribut_html) comme le propose la doc ?

Bernard Martin-Rabaud
martinrabo@wanadoo.fr

-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net]De la part de
Ivan
Envoyé : lundi 7 avril 2003 12:36
À : spip@rezo.net
Objet : [Spip] Garder les apostrophes dans PHP

Bonjour,

J'essaye d'appliquer un texte de survol au lien vers article mais cela dans
une boucle PHP de type :

<?
echo "<a href='$url_rubrique' title='[(#DESCRIPTIF|texte_script)]'>[&#149;
(#TITRE|supprimer_numero|attribut_html)]"

?>

Le problème : comme title= est suivi du caractère ', si le #DESCRIPTIF
contient ce caractère, ce sera tronqué juste après (normal) !

Ex : le #DESCRIPTIF est L'actualité du mois, qui devient juste L.

Avec le filtre texte_script, cela transforme bien l'apostrophe en le faisant
précéder d'un \ nécessaire pour le PHP, mais à l'écran ça devient alors L\

Comment faire pour générer l'anti slash en affichant le texte correctement
et entièrement ? J'ai essayé en rajoutant d'autres filtres sans succès.

Merci à vous tous :o)

--
Ivan

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

Oui j'ai essayé :
- avec entites_html, ça rajoute un espace insécable visible devant ":"
- supprimer_tags n'a pas d'effet, attribut_html non plus.

Il semble que ce soit texte_script qu'il faille utiliser (par exemple, il
m'affiche bien un descriptif comprenant un <br>). Mais sans lui, ça coupe au
premier ', avec lui ça m'affiche un \ et puis ça coupe la suite.

En fait comme je dois commencer echo suivi des ", tout le reste doit
comporter des ' à l'intérieur.

--
Ivan

Bernard Martin-Rabaud a écrit :

Tu as essayé (#DESCRIPTIF|entites_html) ou
(#DESCRIPTIF|supprimer_tags|attribut_html) comme le propose la doc ?

Bernard Martin-Rabaud
martinrabo@wanadoo.fr

-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net]De la part de
Ivan
Envoyé : lundi 7 avril 2003 12:36
À : spip@rezo.net
Objet : [Spip] Garder les apostrophes dans PHP

Bonjour,

J'essaye d'appliquer un texte de survol au lien vers article mais cela dans
une boucle PHP de type :

<?
echo "<a href='$url_rubrique' title='[(#DESCRIPTIF|texte_script)]'>[&#149;
(#TITRE|supprimer_numero|attribut_html)]"

?>

Le problème : comme title= est suivi du caractère ', si le #DESCRIPTIF
contient ce caractère, ce sera tronqué juste après (normal) !

Ex : le #DESCRIPTIF est L'actualité du mois, qui devient juste L.

Avec le filtre texte_script, cela transforme bien l'apostrophe en le faisant
précéder d'un \ nécessaire pour le PHP, mais à l'écran ça devient alors L\

Comment faire pour générer l'anti slash en affichant le texte correctement
et entièrement ? J'ai essayé en rajoutant d'autres filtres sans succès.

Merci à vous tous :o)

Salut,
Ivan, de ses doigts agiles, nous tapota ce qui suit :

En fait comme je dois commencer echo suivi des ", tout le reste doit
comporter des ' à l'intérieur.

Et si tu essayais d'inverser les ' et les " ?
Moi, je dis ça comme ça. :wink:

--
Bien amicalement,
Sa.Cha.
Sans mon ignorance, ta science serait inutile.

Le 7/04/03 16:25, « Sa.Cha. » <postmaster@tournebride.be> a écrit :

Salut,

Bonjour,

Ivan, de ses doigts agiles, nous tapota ce qui suit :

En fait comme je dois commencer echo suivi des ", tout le reste doit
comporter des ' à l'intérieur.

Et si tu essayais d'inverser les ' et les " ?
Moi, je dis ça comme ça. :wink:

Personnellement j'utilise un truc qu'avait donné Fil (cf l'excellent moteur
de recherche des archives...):

1/définir les variables à afficher:
<?php
$titre= stripslashes("[(#TITRE|supprimer_tags|addslashes)]");
?>

2/Pis plus loin:

<? echo $titre; ?>

moala

--
Dr Philippe Auriol, allergologue
http://www.allergique.org/ Le Monde des Allergies
http://www.weballergies.com/ L'allergie en fiches
http://chercher.weballergies.com/ Chercher l'allergie sur le net

Sa.Cha. a écrit :

Salut,
Ivan, de ses doigts agiles, nous tapota ce qui suit :

En fait comme je dois commencer echo suivi des ", tout le reste doit
comporter des ' à l'intérieur.

Et si tu essayais d'inverser les ' et les " ?
Moi, je dis ça comme ça. :wink:

Oui ça m'arrangerait mais je ne peux pas, mon code commence par echo" bla
bla bla

Donc je suis obligé de laisser des ' à l'intérieur.

--
Ivan

Philippe Auriol a écrit :

Le 7/04/03 16:25, « Sa.Cha. » <postmaster@tournebride.be> a écrit :

Salut,

Bonjour,

Ivan, de ses doigts agiles, nous tapota ce qui suit :

En fait comme je dois commencer echo suivi des ", tout le reste doit
comporter des ' à l'intérieur.

Et si tu essayais d'inverser les ' et les " ?
Moi, je dis ça comme ça. :wink:

Personnellement j'utilise un truc qu'avait donné Fil (cf l'excellent moteur
de recherche des archives...):

1/définir les variables à afficher:
<?php
$titre= stripslashes("[(#TITRE|supprimer_tags|addslashes)]");
?>

2/Pis plus loin:

<? echo $titre; ?>

moala

Oui, ben je crois que je vais passer par une variable, ça sera peut-être
plus simple !

Vais tester ça.

Pour l'instant, comme me le proposait Bernard, après avoir testé directement
htmlspecialchars, j'ai tenté htmlentities mais qui me donne le même résultat
dans le code ci-dessous, à savoir que j'obtiens par exemple "L'économie" au
lieu de "L'économie chinoise".

J'ai donc bien l'apostrophe correctement mais ça coupe dès le premier espace
rencontré.

<a href=htmlentities($url_rubrique title=#DESCRIPTIF, ENT_QUOTES)><font
color='#CC6600'>[&#149; (#TITRE|supprimer_numero|attribut_html)]</font></a>

--
Ivan

Ivan a écrit :

Philippe Auriol a écrit :

Et si tu essayais d'inverser les ' et les " ?
Moi, je dis ça comme ça. :wink:

Personnellement j'utilise un truc qu'avait donné Fil (cf l'excellent moteur
de recherche des archives...):

1/définir les variables à afficher:
<?php
$titre= stripslashes("[(#TITRE|supprimer_tags|addslashes)]");
?>

2/Pis plus loin:

<? echo $titre; ?>

moala

Oui, ben je crois que je vais passer par une variable, ça sera peut-être
plus simple !

Vais tester ça.

Bon, ben ça marche pas :o(
Ca m'affiche bien les apostrophes correctement mais ça coupe au premier
espace rencontré.

--
Ivan

Bonjour a tous,
je suis en train de construire un site pour un journal. Je precise tout de
suite que mes connaissances
en informatique sont assez limitees mais il m'a semble qu'utiliser spip
serait une bonne idee.
Mon site n'a pas vraiment pour but d'etre interactif. Je veux utiliser spip
parce que je pense
que ca me facilitera la tache pour la mise a jour des articles, pour
l'archivage et pour le moteur
de recherche.
Malheureusement, mon hebergeur ne me donne pas la permission de changer mes
droits sur
mes dossiers. J'aimerais savoir s'il existe quand meme un moyen d'utiliser
spip.
Est-il possible par exemple de n'utiliser spip qu'en local puis de
telecharger le resultat
sur mon site? Si Spip ne marche pas dans ce cas de figure existe-t-il un
programme equivalent
que je pourrais utiliser.

Toutes les suggestions sont les bienvenues, merci d'avance.

Ivan wrote:

Sa.Cha. a écrit :

Salut,
Ivan, de ses doigts agiles, nous tapota ce qui suit :

En fait comme je dois commencer echo suivi des ", tout le reste doit
comporter des ' à l'intérieur.

Et si tu essayais d'inverser les ' et les " ?
Moi, je dis ça comme ça. :wink:

Oui ça m'arrangerait mais je ne peux pas, mon code commence par echo" bla
bla bla

Donc je suis obligé de laisser des ' à l'intérieur.

Bonjour,

à tout hasard, essaie ça.

Dans ton fichier mes_fonctions.php3 :

// Rend une chaine utilisable sans dommage comme attribut HTML
function cleanquotes($texte) {
  $texte = ereg_replace('"', '&quot;', $texte);
  $texte = ereg_replace("'", "\'", $texte);
  return $texte;
}

dans ton fichier squelette.html :

[(#BALISE|cleanquotes)]

Je ne me souviens plus où j'ai trouvé cette fonction... N. Hoizey, il me semble, de mémoire... :wink:

James a écrit :

Bonjour,

à tout hasard, essaie ça.

Dans ton fichier mes_fonctions.php3 :

// Rend une chaine utilisable sans dommage comme attribut HTML
function cleanquotes($texte) {
$texte = ereg_replace('"', '&quot;', $texte);
$texte = ereg_replace("'", "\'", $texte);
return $texte;
}

dans ton fichier squelette.html :

[(#BALISE|cleanquotes)]

Je ne me souviens plus où j'ai trouvé cette fonction... N. Hoizey, il me
semble, de mémoire... :wink:

Bonjour James et merci pour pour ton idée. À force de test jusqu'à pas
d'heure, j'ai enfin trouvé le bon réglage.

J'utilise ton code mais avec une seule ligne :

function cleanquotes($texte) {
    $texte = ereg_replace("'", "&#146;", $texte);
    return $texte;
}

Et dans mon squelette.html :

title='[(#DESCRIPTIF|supprimer_tags|cleanquotes)]'

cette partie étant à l'intérieur de PHP avec echo=" bla bla bla etc.

Du coup, le remplacement est assez simple en fait et ça marche très bien !

:o)

--
Ivan

Certains de souviennent de Transfert, le mag des NTIC à la grande époque de
la bulle.
Eh bien il renait de ses cendres, sous la forme d'une agence de presse
associative fondée par un certain... Valentin Lacambre, et basé sur un
certain... Spip !
Encore une référence de taille pour les concepteurs et les Spipeurs !
http://www.transfert.net

Techniquement, je me demandais comment ils simplifiaient leurs urls
(articles et rubriques sous forme de a123 ou r234) ?

. Pierre .
www.avarap06.org