Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

manipulation d'une chaîne

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
dudo
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Jan 2004
Messages: 327

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 11:22    Sujet du message: manipulation d'une chaîne

Bonjour,

J'ai besoin de manipuler le contenu d'une chaine

Code:
 
$storeoffer->stock_description[0]->tagData

if($show_stock_message==true){echo'<td align="center" valign="middle">'.$storeoffer->stock_description[0]->tagData.'</div></td>';

'.$storeoffer->stock_description[0]->tagData.' m'affiche bien un contenu

je comptais donc mettre cette ligne dans une variable

$tagData ="$storeoffer->stock_description[0]->tagData";

pour manipuler cette chaîne:

$in = array('à', 'á', 'â', 'ô', 'è', 'é', 'ê', 'î', 'ù', 'ú','û');
$out = array('à ', 'á ', 'â ', 'ô ', 'è ', 'é ', 'ê ', 'î ', 'ù ', 'ú ','û ');
$tagData = str_replace($in, $out, $tagData);


if($show_stock_message==true){echo'<td align="center" valign="middle">&nbsp;<div class="api_store_promo">$tagData</div></td>';}
 

Mais au final cela m'affiche $tagData et non pas le contenu

Débutant en php

merci

ludo[/code]
 
dudo Visiter le site web du posteur
bgdc
WRInaute passionné
WRInaute passionné

Inscrit le: 23 Mai 2005
Messages: 627
Localisation: Jamais assez pres de ma femme et de ma fille.

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 11:36    Sujet du message: manipulation d'une chaîne

Bonjour,

et si tu essayais ça :

Code:
{echo'<td align="center" valign="middle">&nbsp;<div class="api_store_promo">'.$tagData.'</div></td>';}
 
bgdc Visiter le site web du posteur
dudo
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Jan 2004
Messages: 327

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 12:41    Sujet du message: manipulation d'une chaîne

et si tu essayais ça :

Code:
{echo'<td align="center" valign="middle">&nbsp;<div class="api_store_promo">'.$tagData.'</div></td>';}
[/quote]


Re Bonjour,

Merci, cela fonctionne parfaitement, en revanche je ne résouds pas complètement
mon problème en effet si je traite ma chaine , je me retrouve avec des aberrations:
numérique devient numé rique évidemment !

J'utilise le code paser XML/HTML à cette adresse
*http://www.criticaldevelopment.net/xml/parser_php4.phps

Ce parser m'enlève les espaces à chaque fois qu'il rencontre une lettre accentuée et je ne comprends pas pourquoi:

Ex: l'appareil estégalementéquipéd'un bouton de type joystick

au lieu de

l'appareil est également équipé d'un bouton de type joystick

Les espaces disparaissent entre chaque mot à chaque fois
qu'il a y une lettre accentuée en début ou en fin de mot

Merci
 
dudo Visiter le site web du posteur
bgdc
WRInaute passionné
WRInaute passionné

Inscrit le: 23 Mai 2005
Messages: 627
Localisation: Jamais assez pres de ma femme et de ma fille.

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 12:49    Sujet du message: manipulation d'une chaîne

au fait, je ne comprends pas l'utilité de ça :
Code:
$in = array('à', 'á', 'â', 'ô', 'è', 'é', 'ê', 'î', 'ù', 'ú','û');
$out = array('à ', 'á ', 'â ', 'ô ', 'è ', 'é ', 'ê ', 'î ', 'ù ', 'ú ','û ');
$tagData = str_replace($in, $out, $tagData);


Tu remplaces les lettres accentuées par des lettres accentués ? Je pense qu'il y a un copié/collé malheureux et que la correction résoudra peut être ton autre pb.
 
bgdc Visiter le site web du posteur
zeb
WRInaute accro
WRInaute accro

Inscrit le: 05 Déc 2004
Messages: 1007

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 12:52    Sujet du message: manipulation d'une chaîne

dudo a écrit:
J'utilise le code paser XML/HTML à cette adresse
*http://www.criticaldevelopment.net/xml/parser_php4.phps

Pour pouvoir te répondre, il faudrait un peut plus de détails, notamment un exemple concret et le moment ou cette disparition est constaté.
Ajout des echo ici et là pour voir l'évolution de ta chaine et identifier l'endroit ou les espace disparaissent.
 
zeb Visiter le site web du posteur
zeb
WRInaute accro
WRInaute accro

Inscrit le: 05 Déc 2004
Messages: 1007

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 12:52    Sujet du message: manipulation d'une chaîne

bgdc a écrit:
au fait, je ne comprends pas l'utilité de ça :
Code:
$in = array('à', 'á', 'â', 'ô', 'è', 'é', 'ê', 'î', 'ù', 'ú','û');
$out = array('à ', 'á ', 'â ', 'ô ', 'è ', 'é ', 'ê ', 'î ', 'ù ', 'ú ','û ');
$tagData = str_replace($in, $out, $tagData);


Tu remplaces les lettres accentuées par des lettres accentués ? Je pense qu'il y a un copié/collé malheureux et que la correction résoudra peut être ton autre pb.


je me suis aussi posé la question avant de voir qu'il rajoute les espaces disparus derrière les caractères accentués.

donc traitement aval d'un bug en amont qui donne :

Citation:
je me retrouve avec des aberrations: numérique devient numé rique évidemment !
 
zeb Visiter le site web du posteur
bgdc
WRInaute passionné
WRInaute passionné

Inscrit le: 23 Mai 2005
Messages: 627
Localisation: Jamais assez pres de ma femme et de ma fille.

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 12:56    Sujet du message: manipulation d'une chaîne

zeb a écrit:

donc traitement aval d'un bug en amont qui donne :

Citation:
je me retrouve avec des aberrations: numérique devient numé rique évidemment !


Bien vu, les espaces m'avait echapé Embarassed
 
bgdc Visiter le site web du posteur
dudo
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Jan 2004
Messages: 327

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 13:41    Sujet du message: manipulation d'une chaîne

bgdc a écrit:
au fait, je ne comprends pas l'utilité de ça :
Code:
$in = array('à', 'á', 'â', 'ô', 'è', 'é', 'ê', 'î', 'ù', 'ú','û');
$out = array('à ', 'á ', 'â ', 'ô ', 'è ', 'é ', 'ê ', 'î ', 'ù ', 'ú ','û ');
$tagData = str_replace($in, $out, $tagData);


Tu remplaces les lettres accentuées par des lettres accentués ? Je pense qu'il y a un copié/collé malheureux et que la correction résoudra peut être ton autre pb.



Non en fait je corrige en rajoutant l'espace disparu

$in = array('à', 'â ', 'ô ', 'è ', 'é '');
$out = array('&nbsp;à&nbsp;', '', 'â&nbsp;', 'é&nbsp; ');
$tagData = str_replace($in, $out, $tagData);

En fait, il y a 2 solutions,

1/ soit je bricole le code précédent et pour résoudre le problème il me faut une fonction qui traite la variable $tagData et qui ajoute un espace
à gauche s'il s'agit d'une première lettre accentuée et/ ou à droite s'il s'agit de la dernière lettre
accentuée de chaque mot de ma chaine. Et cela dépasse mes compétences

2/ soit je trouve le bug au niveau parse xml

J'utilise le code paser XML/HTML à cette adresse
*http://www.criticaldevelopment.net/xml/parser_php4.phps

//Setup the parser object

$parser = new XMLParser($xml);

//Work the magic...
$parser->Parse();

/*echo

$tagData ="$storeoffer->stock_description[0]->tagData";

if($show_stock_message==true) {echo'<td align="center" valign="middle"><div class="api_store_promo">'.$tagData.'</div></td>';}


Dans $tagData, les espaces disparaissent à chaque fois qu'il y a une lettre accentuée dans le texte ex: si j'ai "2 à 2" i il s'affiche "2à2"
"un ensemble de fonctionsàfaire" au lieu de "un ensemble de fonctions à faire" si j'ai du texte anglais aucun espace disparait.
 
dudo Visiter le site web du posteur
bgdc
WRInaute passionné
WRInaute passionné

Inscrit le: 23 Mai 2005
Messages: 627
Localisation: Jamais assez pres de ma femme et de ma fille.

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 19:15    Sujet du message: manipulation d'une chaîne

as tu essayer avec des caracteres sans accents ?
Si oui, as tu le meme pb ?

Tu peux aussi essayer de regarder cette ligne :

Code:
eval('$this->'.$tag.'->tagData .= trim($data);');
 
bgdc Visiter le site web du posteur
dudo
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Jan 2004
Messages: 327

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 21:17    Sujet du message: manipulation d'une chaîne

bgdc a écrit:
as tu essayer avec des caracteres sans accents ?
Si oui, as tu le meme pb ?

Tu peux aussi essayer de regarder cette ligne :

Code:
eval('$this->'.$tag.'->tagData .= trim($data);');


Alors là chapeau !

Sans le trim tout rentre dans l'ordre

Un grand merci !
 
dudo Visiter le site web du posteur
bgdc
WRInaute passionné
WRInaute passionné

Inscrit le: 23 Mai 2005
Messages: 627
Localisation: Jamais assez pres de ma femme et de ma fille.

URL permanente de ce messagePosté le : Sam Aoû 02, 2008 21:29    Sujet du message: manipulation d'une chaîne

De rien Wink
 
bgdc Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

En savoir plus : .

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort