October 24, 200718 yr 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 Edited October 24, 200718 yr by jer666
October 25, 200718 yr Author ya rien de plus simple? j'ai pas le temps d'apprendre les expression régulière pour un broutille comme ca :)
October 26, 200718 yr 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
May 8, 200817 yr $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
May 9, 200817 yr Quelque chose comme preg_replace ('/width\s*=\s*"\s*[0-9]+/', 'width="520', $string);
May 9, 200817 yr 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.
May 9, 200817 yr 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.
May 13, 200817 yr 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
May 17, 200817 yr +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.
Archived
This topic is now archived and is closed to further replies.