Recupérer une valeur dans une URL-besoin d'aide Merci

Fermé
MaxwellCosta Messages postés 17 Date d'inscription vendredi 12 décembre 2014 Statut Membre Dernière intervention 20 juin 2019 - 12 déc. 2014 à 11:50
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 15 déc. 2014 à 16:01
Bonjour à tous

J'ai vraiment besoin d'aide....

Je suis sous Wordpress 4.0

J'ai dans une page un petit descriptif et ensuite j'ai une expression qui indique "Lire la suite"

Cette expression est cliquable

Si je met mon curseur dessus je vois que l'url de destination est :

www.youtube.com/watch?v=sTHfJ2mN8ik&feature=youtube_gdata

Je ne peut en aucun cas modifier ou intervenir sur la syntaxe de cette url ou de la programmation si dessus car elle s'inscrit dans la page automatiquement par flux rss.

En dessous de cette ligne je souhaite insérer ma programmation qui permet de visualiser une video (Youtube en l'occurance)

<iframe width="95%" height="315px" src="//www.youtube.com/embed/XXXXXXXXXXXX?version=3&autoplay=0&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe>

Je voudrais qu'automatiquement à la place des XXXXXXXXXXXX soit indiqué la valeur de la video au dessus à savoir ici pour cet exemple sTHfJ2mN8ik

Est ce qui il aurait d'après vous un moyen de lire automatiquement la valeur indiquée entre ?v= et & et de l'indiquer automatiquement entre embed/ et ?version de la ligne de programmation en dessous en sachant que la valeur n'est pas accéssible puisque l'on voit "cliquez ici" à la place ?

J'espère être assez clair dans ma demande.

en tout cas je vous remercie beaucoup pour l'aide que vous pourrez m'apporter.
A voir également:

4 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
12 déc. 2014 à 12:30
Bonjour,

Est ce qui il aurait d'après vous un moyen de lire automatiquement la valeur indiquée entre ?v= et &


On peut "lire" les données situées entre deux chaines de caractères... en utilisant des REGEX.
Par exemple en utilisant celle ci :
preg_match("/(v=)(.*)(&)/", $input_line, $output_array); 

TU obtiens (dans la variable : $output_array ):

Array
(
[0] => v=sTHfJ2mN8ik&
[1] => v=
[2] => sTHfJ2mN8ik
[3] => &
)



et de l'indiquer automatiquement entre embed/ et ?version de la ligne de programmation en dessous en sachant que la valeur n'est pas accéssible puisque l'on voit "cliquez ici" à la place ?

Pour ça... il faut que tu es accès au code source de la page...
Et donc..à toi..lorsque tu créés ta ligne de code.. d'y mettre la valeur à la place des XXXXX

echo '
<iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$output_array[2] .'?version=3&autoplay=0&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe> ';


0
MaxwellCosta Messages postés 17 Date d'inscription vendredi 12 décembre 2014 Statut Membre Dernière intervention 20 juin 2019
Modifié par jordane45 le 12/12/2014 à 14:10
Bonjour et merci pour ta réponse

en fait j'ai une erreur qui dit
Parse error: syntax error, unexpected '[', expecting ')' in /home/gillescos/www/w/comment-dessiner/wp-content/themes/stuffy/single.php on line 61

Je te donne la programmation que j'ai faite avec quelque compléments

(c'est avec le "content" que j'obtiens le descriptif qui est issue d'un flux rss avec le "Lire la suite" )

<?php the_content(); 

preg_match("/(v=)(.*)(&)/", $input_line, $output_array);
Array
(
    [0] => v=
    [1] => v=
    [2] => 
    [3] => &
)

echo '
<iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$output_array[0] .'?version=3&autoplay=0&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe> ';
?>
<?php endforeach; 


Si tu veux plus de programmation dis le moi

Merci pour ta réponse
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
12 déc. 2014 à 14:13
Déjà, Penses à utiliser les balises de code lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


Ensuite :
Il faut que tu puisses récupérer le contenu de the_content(); pour le mettre dans la variable $input_line

Je suppose qu'actuellement la fonction the_content(); doit faire des ECHO pour afficher des données...
l'idéal serait que tu nous montres ce que contient cette fonction.
0
MaxwellCosta > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
12 déc. 2014 à 14:23
Désolé mais étant débutant je ne comprends même pas ce que tu essayes de me dire.

pour moi,
<?php the_content(); ?>
affiche le contenu d'un flux rss que je récupère au travers d'un plugin

Que veux tu comme renseignement supplémentaire ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié par jordane45 le 12/12/2014 à 14:38
Donc..
La fonction the_content() ... est donc une fonction wordpress....
En lisant la doc : https://developer.wordpress.org/reference/functions/the_content/
on trouve :


Alternative Usage

You may use get_the_content() to return the content value instead of outputting it directly.


Exemple :
$content = apply_filters( 'the_content', get_the_content() );
$content = str_replace( ']]>', ']]>', $content )


Ce qui, pour toi, pourrait donner un truc du genre : :

<?php 
$content = apply_filters( 'the_content', get_the_content() );
$content = str_replace( ']]>', ']]>', $content )
preg_match("/(v=)(.*)(&)/", $content , $output_array);

echo '
<iframe width="95%" height="315px" 
src="//www.youtube.com/embed/'.$output_array[0] .'?version=3&autoplay=0&controls=0&showinfo=0&hl=fr_FR&rel=0"
frameborder="0" 
allowfullscreen>
</iframe> ';

 endforeach;


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
MaxwellCosta
12 déc. 2014 à 15:04
Excuse moi mais cela me met une erreur

Parse error: syntax error, unexpected 'preg_match' (T_STRING) in /single.php on line 60
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
12 déc. 2014 à 15:54
La lligne juste au dessus.. manque un point-virgule
$content = str_replace( ']]>', ']]>', $content );
0
gillescoste2006 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
Modifié par gillescoste2006 le 13/12/2014 à 09:20
Bonjour,

Juste déjà pour un test pour voir si $output_array prend des valeur.

Comment je peux ecrire un echo '' juste pour voir quelles valeurs il prend.

Car pour l'instant la video de youtube ne s'affiche pas

Merci beaucoup
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > gillescoste2006
15 déc. 2014 à 16:01
Pour les ARRAY .. il faut faire un PRINT_R ( ou un VAR_DUMP) pour voir le contenu ( pas un ECHO).
print_r($output_array);
0