Formulaire : $content
Résolumatiou34 Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
J'ai un formulaire séparé en deux parties ($postcontent et $postcontent2).
$content = $postcontent . $postcontent2;
Le premier $postcontent sert de simple texte.
Le deuxième sert à ajouter une vidéo. Je demande seulement à l'utilisateur d'ajouter l'ID de la vidéo (des chiffres).
Les deux textarea se retrouvent dans un seul quand celui ci est publié.
Le problème est que je souhaite que le deuxième prenne en compte automatiquement : www.youtube.com/ etc. lors de la soumission.
Donc pour résumer je souhaite que lorsque l'on soumet le formulaire ceci soit constitué comme suivant:
$content = $postcontent . https://www.youtube.com/$postcontent2;
Bien entendu cela ne marche pas...
Avez-vous une idée ?
Merci !
- Formulaire : $content
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Un formulaire rempli - Guide
- Formulaire de reclamation instagram - Guide
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
4 réponses
Le problème porte sur la fusion de deux zones d’un formulaire, l’une texte et l’autre contenant un identifiant vidéo, afin que la soumission génère un contenu incluant une URL YouTube automatiquement. Des propositions visent à lire l’ordre d’exécution et à assembler des bouts HTML selon la plateforme détectée (YouTube, Vimeo, DailyMotion) à partir d’identifiants, via des expressions régulières et des remplacements. La meilleure approche présentée construit ensuite le contenu final en concaténant les extraits embed (YouTube, Vimeo, DailyMotion) dans une variable et l’affiche, tout en gérant les cas multiples et les erreurs. En pratique, cette solution permet de générer dynamiquement des blocs d’intégration vidéo à partir d’un identifiant fourni, en évitant de multiplier les champs et les erreurs d’entrée.
$content = "$postcontent2";
$postcontent2 = "$vimeo1$postcontent2$vimeo2";
$vimeo1 = '<iframe src="http://player.vimeo.com/video/';
$vimeo2 = '?title=0&byline=0&portrait=0" width="400" height="208" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>';
Autre question:
Je voudrai que lorsque la personne va mettre https://vimeo.com/31183647 dans postcontent2 cela supprime https://vimeo.com/
Je ne souhaite garder que ce qui suit https://vimeo.com/
Merci beaucoup
$postcontent2 = preg_replace('#http://vimeo.com/#','',$postcontent2);
essaie et si ca marche pas , dis le moi.
En gros j'ai ça:
$content = "$postcontent2";
$postcontent2 = "$vimeo1$postcontent2$vimeo2";
$vimeo1 = '<iframe src="http://player.vimeo.com/video/';
$vimeo2 = '?title=0&byline=0&portrait=0" width="400" height="208" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>';
$postcontent2 = preg_replace('#https://vimeo.com/$postcontent2);
Mon code entier ?
<?php
/* * *
* Processed form data into a proper post array, uses wp_insert_post() to add post.
*
* @param array $pfs_data POSTed array of data from the form
*/
require('../../../wp-load.php');
/**
* Create post from form data, including uploading images
* @param array $post
* @param array $files
* @return string success or error message.
*/
function pfs_submit($post,$files){
$pfs_options = get_option('pfs_options');
$pfs_data = $post;
$pfs_files = $files;
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($pfs_data, true)."</pre>\n";
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($pfs_files, true)."</pre>\n";
foreach($pfs_data as $key=>$value) ${$key} = $value;
$imgAllowed = 0;
$result = Array(
'image'=>"",
'error'=>"",
'success'=>"",
'post'=>""
);
$success = False;
if (is_user_logged_in()) {
/* play with the image */
switch (True) {
case (1 < count($pfs_files['image']['name'])):
// multiple file upload
$result['image'] = "multiple";
$file = $pfs_files['image'];
for ( $i = 0; $i < count($file['tmp_name']); $i++ ){
if( ''!=$file['tmp_name'][$i] ){
$imgAllowed = (getimagesize($file['tmp_name'][$i])) ? True : (''==$file['name'][$i]);
if ($imgAllowed){
$j=$i+1;
$upload[$j] = wp_upload_bits($pfs_files["image"]["name"][$i], null, file_get_contents($pfs_files["image"]["tmp_name"][$i]));
if (False === $upload[$j]['error']){
$success[$j] = True;
} else {
$result['error'] = "There was an error uploading the image $j {$upload['error']}";
return $result;
}
} else {
$result['error'] = "Incorrect filetype. Only images (.gif, .png, .jpg, .jpeg) are allowed.";
}
}
}
break;
case ((1 == count($pfs_files['image']['name'])) && ('' != $pfs_files['image']['name'][0]) ):
// single file upload
$file = $pfs_files['image'];
$result['image'] = 'single';
$imgAllowed = (getimagesize($file['tmp_name'][0])) ? True : (''==$file['name'][0]);
if ($imgAllowed){
$upload[1] = wp_upload_bits($file["name"][0], null, file_get_contents($file["tmp_name"][0]));
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($upload, true)."</pre>\n";
if (False === $upload[1]['error']){
$success[1] = True;
} else {
$result['error'] = "There was an error uploading the image: {$upload[1]['error']}";
return $result;
}
} else {
$result['error'] = "Incorrect filetype. Only images (.gif, .png, .jpg, .jpeg) are allowed.";
}
break;
default:
$result['image'] = 'none';
}
if ('' != $result['error']) return $result;
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($upload, true)."</pre>\n";
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($success, true)."</pre>\n";
/* manipulate $pfs_data into proper post array */
if ($title != '' && $postcontent != '') {
$content = "$postcontent2";
$postcontent2 = "$vimeo1$postcontent2$vimeo2";
$vimeo1 = '<iframe src="http://player.vimeo.com/video/';
$vimeo2 = '?title=0&byline=0&portrait=0" width="400" height="208" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>';
$postcontent2 = str_replace("https://vimeo.com/", "", "");
global $user_ID;
get_currentuserinfo();
if (is_array($success)){
foreach(array_keys($success) as $i){
//$i++;
$imgtag = "[!--image$i--]";
if (False === strpos($content,$imgtag)) $content .= "<br />$imgtag";
$content = str_replace($imgtag, "<img src='{$upload[$i]['url']}' class='pfs-image' />", $content);
}
} else {
$imgtag = "[!--image1--]";
if (False === strpos($content,$imgtag)) $content .= "<br />$imgtag";
$content = str_replace($imgtag, "<img src='{$upload[1]['url']}' class='pfs-image' />", $content);
}
//if any [!--image#--] tags remain, they are invalid and should just be deleted.
$content = preg_replace('/\[\!--image\d*--\]/','',$content);
$categories = $cats;
$newcats = explode(',',$newcats);
foreach ($newcats as $cat) $categories[] = wp_insert_category(array('cat_name' => trim($cat), 'category_parent' => 0));
$newtags = explode(',',$newtags);
foreach ($newtags as $tag) {
wp_create_tag(trim($tag));
$tags[] = trim($tag);
}
$postarr = array();
$postarr['post_title'] = $title;
$postarr['post_content'] = $content;
$postarr['comment_status'] = $pfs_options['pfs_comment_status'];
$postarr['post_status'] = $pfs_options['pfs_post_status'];
$postarr['post_author'] = $user_ID;
$postarr['post_category'] = $categories;
$postarr['tags_input'] = implode(',',$tags);
$postarr['post_type'] = 'post';
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($postarr, true)."</pre>\n";
$post_id = wp_insert_post($postarr);
if (0 == $post_id) {
$result['error'] = __("Unable to insert post- unknown error.",'pfs_domain');
} else {
$result['success'] = __("Post added, please wait to return to the previous page.",'pfs_domain');
$result['post'] = $post_id;
}
} else {
$result['error'] = __("You've left either the title or content empty.",'pfs_domain');
}
} else {
/* TODO: translate following */
$result['error'] = "You are no longer logged in. Did something happen? Try <a href='".get_bloginfo('url')."/wp-login.php'>logging in</a> again.";
}
return $result;
}
if (!empty($_POST)){
$pfs = pfs_submit($_POST,$_FILES);
echo json_encode($pfs);
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($pfs, true)."</pre>\n";
} else {
/* TODO: translate following */
echo "You should not be seeing this page, something went wrong. <a href='".get_bloginfo('url')."'>Go home</a>?";
}
//get_footer();
?>
$youtube = 'http://www.youtube.com';
$postcontent2 = "$youtube$postcontent2";
J'ai quelque chose comme ceci:
content = $postcontent . $postcontent2;
$postcontent2 = "$vimeo1$postcontent2$vimeo2";
$vimeo1 = '<iframe src="http://player.vimeo.com/video/';
$vimeo2 = '?title=0&byline=0&portrait=0" width="400" height="208" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>';
Le formulaire une fois posté ne prend pas en compte vimeo1 et 2