Aller au contenu

php remplacer une valeur par une autre


jer666

Messages recommandés

Bonjour,

sur mon site de video je propose des videos dailymotion au format 520 * 410.

Aprés un changement de design je desirerais que toutes les videos soient au format 410 * 360.

De plus j'aimerais que toutes mes videos peu importe la taille d'origine et peu importe la taille des lecteurs dailymotion soit proposer dans ce format sans avoir a modifier quoi que ce soit :dd:

Donc je cherche un moyen de remplacer dans mon source du lecteur les valeurs de width="XXX" et height="XXX"

Je connaissais str_replace pour réaliser ce type d'opération, sauf que la mon soucis c'est queje ne connais pas par avance les valeur XXX de width et height. donc ca ne peux pas marcher. Je ne trouve pas de fonction dans le manuel php qui puisse m'aider. auriez vous ca dans votre poche svp :transpi:

merci par avance pour votre aide toujours aussi dynamique et experte :craint:

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...
Je connaissais str_replace pour réaliser ce type d'opération, sauf que la mon soucis c'est queje ne connais pas par avance les valeur XXX de width et height.

Si tu n'aime pas les expressions régulières, une solution un peu bourrin est de séparer ta chaine en morceaux, de remplacer les morceaux à remplacer et de tout recoller. "explode" va être ton ami

pour commencer, on va remplacer width="xxx" par width="100"

1 remplace width=" par width="||| avec un bon vieux str replace

2 tu utilise un $tab = explode("|||", $tachaine)

maintenant, tu as un tableau avec :

[0]=> ttzeiuhsqhjjhjdsffr width="

[1]=> xxx" rqrreqiihklfdsffdshjhhhb

à ce niveau, tu sais que ce qui est avant le premier " est ton nombre, on va donc l'isoler. Tu remplace donc " par |||" et tu recoupe avec un $tab2 = explode("|||", $tab[1], 2) On utilise deux car tu ne veux faire la cassure que sur le premier élément

à ce niveau, tu as donc 3 chaines

$tab[0]= ttzeiuhsqhjjhjdsffr width="

$tab2[0]= xxx

$tab2[1]= " rqrreqiihklfdsffdshjhhhb

la chaine que tu souhaite, c'est $tab[0]."520".$tab2[1]

Bien sûr, tu vérifie d'abord que ta chaine ne contenait pas au départ un ||| quelque part auquel cas tu tente avec un autre truc bizarre.

De la même manière, tu peux recommencer avec le height :smack:

Là, tu te dis qu'une bonne expression régulière, ça a parfois du bon :craint:

C'est ainsi que je te conseille de perdre un peu de temps sur ce site qui va te permettre en moins de 10 minutes de pouvoir te la péter grave devant tes collègues et tes potes: tutoriel très bien fait

Lien vers le commentaire
Partager sur d’autres sites

+1 pour le tuto du siteduzero.com

J'ai appris grâce à ce site et il suffit de le compléter avec le manuel php.

En étant un novice du php, je peux dire que cette fonction mérite vraiment qu'on s'y intéresse car avoir les résultats sous forme de tableau est vraiment TRES pratique.

Et à mon avis c'est plus simple d'utiliser les regex plutôt que la fonction explode comme indiqué ci-dessus.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...