Posté(e) le 24 octobre 200717 a 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 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 merci par avance pour votre aide toujours aussi dynamique et experte Modifié le 24 octobre 200717 a par jer666
Posté(e) le 25 octobre 200717 a Auteur ya rien de plus simple? j'ai pas le temps d'apprendre les expression régulière pour un broutille comme ca :)
Posté(e) le 26 octobre 200717 a Les Regexp sont là pour rechercher des chaines de caractères dont on ne connait pas le contenu exact, ce qui est ton cas. A la limite, tu peux te "contenter" de rechercher 'width' et height' et de bidouiller ensuite leurs valeurs
Posté(e) le 8 mai 200817 a $width = str_replace(" .*$", "", str_replace("^.width=", "", $str)); $height = str_replace(" .*$", "", str_replace("^.height=", "", $str)); et tu verifies que t'as pas recuperer des quotes/doubles-quotes/fermeture de balise
Posté(e) le 9 mai 200817 a Quelque chose comme preg_replace ('/width\s*=\s*"\s*[0-9]+/', 'width="520', $string);
Posté(e) le 9 mai 200817 a str_replace ? "Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace() et preg_replace()." Apres comme l'on dis les autre les regexp c'est bien !! c'est pas du temps de perdu de les apprendre.
Posté(e) le 9 mai 200817 a 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.
Posté(e) le 13 mai 200817 a 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 Là, tu te dis qu'une bonne expression régulière, ça a parfois du bon 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
Posté(e) le 17 mai 200817 a +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.
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.