| |
Savez-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.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
dudo WRInaute impliqué

Inscrit le: 10 Jan 2004 Messages: 327
|
Posté 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"> <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] |
|
| |
|
 |
bgdc WRInaute passionné

Inscrit le: 23 Mai 2005 Messages: 627 Localisation: Jamais assez pres de ma femme et de ma fille.
|
Posté 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"> <div class="api_store_promo">'.$tagData.'</div></td>';} |
|
|
| |
|
 |
dudo WRInaute impliqué

Inscrit le: 10 Jan 2004 Messages: 327
|
Posté 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"> <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 |
|
| |
|
 |
bgdc WRInaute passionné

Inscrit le: 23 Mai 2005 Messages: 627 Localisation: Jamais assez pres de ma femme et de ma fille.
|
Posté 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. |
|
| |
|
 |
zeb WRInaute accro

Inscrit le: 05 Déc 2004 Messages: 1007
|
Posté 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 WRInaute accro

Inscrit le: 05 Déc 2004 Messages: 1007
|
Posté 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 ! |
|
|
| |
|
 |
bgdc WRInaute passionné

Inscrit le: 23 Mai 2005 Messages: 627 Localisation: Jamais assez pres de ma femme et de ma fille.
|
Posté 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é  |
|
| |
|
 |
dudo WRInaute impliqué

Inscrit le: 10 Jan 2004 Messages: 327
|
Posté 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(' à ', '', 'â ', 'é ');
$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. |
|
| |
|
 |
bgdc WRInaute passionné

Inscrit le: 23 Mai 2005 Messages: 627 Localisation: Jamais assez pres de ma femme et de ma fille.
|
Posté 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);'); |
|
|
| |
|
 |
dudo WRInaute impliqué

Inscrit le: 10 Jan 2004 Messages: 327
|
Posté 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 ! |
|
| |
|
 |
bgdc WRInaute passionné

Inscrit le: 23 Mai 2005 Messages: 627 Localisation: Jamais assez pres de ma femme et de ma fille.
|
Posté le : Sam Aoû 02, 2008 21:29 Sujet du message: manipulation d'une chaîne |
|
|
De rien  |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|