Expressions régulières en php
Résolu
Kemich
Messages postés
207
Date d'inscription
Statut
Membre
Dernière intervention
-
Kemich Messages postés 207 Date d'inscription Statut Membre Dernière intervention -
Kemich Messages postés 207 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai crée un site web ou l'administrateur pourra a loisir diffuser des vidéos youtube, en copiant le code prévu a cette effet ( Intégrer une vidéo sur un site).
Donc je chope le code de la vidéo via un champ input, et je balance le tout sur ma base de donnée.
Sur le site, j'ai prévu un div de 250px/200px pour intégrer cette vidéo, avant d'enregistrer le code de la vidéo en base de donnée, j'aimerais bien la redimensionner automatiquement, avec la fonction php str replace
Voici mon code :
$video= <object width="425" height="344"><param name=\"movie\" ... >
$video_formatee= str_replace("width="425" height="344", "width=\"250\" height=\"200\"", "$video");
------> Cela ça fonctionne.
Ce qu'il me faudrait, c'est une expression régulière (un nombre de 3 chiffres), a mettre en lieu et place des valeurs "brutes" 425 et 344.
Quelqu'un a t'il une solution ?
J'ai crée un site web ou l'administrateur pourra a loisir diffuser des vidéos youtube, en copiant le code prévu a cette effet ( Intégrer une vidéo sur un site).
Donc je chope le code de la vidéo via un champ input, et je balance le tout sur ma base de donnée.
Sur le site, j'ai prévu un div de 250px/200px pour intégrer cette vidéo, avant d'enregistrer le code de la vidéo en base de donnée, j'aimerais bien la redimensionner automatiquement, avec la fonction php str replace
Voici mon code :
$video= <object width="425" height="344"><param name=\"movie\" ... >
$video_formatee= str_replace("width="425" height="344", "width=\"250\" height=\"200\"", "$video");
------> Cela ça fonctionne.
Ce qu'il me faudrait, c'est une expression régulière (un nombre de 3 chiffres), a mettre en lieu et place des valeurs "brutes" 425 et 344.
Quelqu'un a t'il une solution ?
A voir également:
- Expressions régulières en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
- Alert php - Forum PHP
8 réponses
$video_formatee = preg_replace('#width="(.+)" height="(.+)"#i', 'width="250" height="200"', $video);
Merci de te ton attention avion.
Il y a du mieux, mais encore un petit problème:
Voici mon code :
$video="<object width=\"425\" height=\"344\">...</object>";
echo"video : $video";
$video_formatee = preg_replace('#width="(.+)" height="(.+)"#i', 'width="250" height="200"', $video);
echo"video formatee : $video_formatee";
Ce qui m'affiche
video : <object width="425" height="344">....</object>
video formatee : <object width="250" height="200"></embed></object>
En gros ta fonction remplace bien la largeur et la hauteur de la vidéo, mais elle zappe tous le code qui suit ...
Il y a du mieux, mais encore un petit problème:
Voici mon code :
$video="<object width=\"425\" height=\"344\">...</object>";
echo"video : $video";
$video_formatee = preg_replace('#width="(.+)" height="(.+)"#i', 'width="250" height="200"', $video);
echo"video formatee : $video_formatee";
Ce qui m'affiche
video : <object width="425" height="344">....</object>
video formatee : <object width="250" height="200"></embed></object>
En gros ta fonction remplace bien la largeur et la hauteur de la vidéo, mais elle zappe tous le code qui suit ...
$video_formatee = preg_replace('#<object width="(.+)" height="(.+)">(.+)</object>#i','<object width="250" height="200">$3</object>',$video);
Remerci avion, mais j'ai toujours le meme probleme
Avec ton code, g exactement le meme problème, voila ce que ça m'affiche :
video : <object width="425" height="344">.... code de la video ...</object>
video formatee : <object width="250" height="200"></embed></object>
Avec ton code, g exactement le meme problème, voila ce que ça m'affiche :
video : <object width="425" height="344">.... code de la video ...</object>
video formatee : <object width="250" height="200"></embed></object>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OMG ! J'ai oublié deux options dans la regex (deux options importantes avec des balises).
Voilà, ça fonctionne (testé et approuvé par avion-f16 ;) ) :
Voilà, ça fonctionne (testé et approuvé par avion-f16 ;) ) :
$video_formatee = preg_replace('#<object width="(.+)" height="(.+)">(.+)</object>#isU','<object width="250" height="200">$3</object>',$video);
On y est presque avion :-)
Le souci, c'est que quand tu regarde le code qu'il faut copier pour intégrer une vidéo youtube, il y a 2 endroits ou la taille est spécifiée :
<object width="425" height="344"> ... blablabla ... width="425" height="344"></embed></object>
Ta fonction change bien les valeurs de width et height du début du code mais celle de la fin ..........
Tu touches au but.
Le souci, c'est que quand tu regarde le code qu'il faut copier pour intégrer une vidéo youtube, il y a 2 endroits ou la taille est spécifiée :
<object width="425" height="344"> ... blablabla ... width="425" height="344"></embed></object>
Ta fonction change bien les valeurs de width et height du début du code mais celle de la fin ..........
Tu touches au but.