Formulaire : $content

Résolu
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   -  
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

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 !


4 réponses

matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
Une fonction ferait peut-être l'affaire ?
0
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
J'ai donc ceci pour une vidéo Vimeo:
$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
0
geoffreyvp
 
euh la je crois qu'on peut utiliser les regex comme ceci:

$postcontent2 = preg_replace('#http://vimeo.com/#','',$postcontent2);

essaie et si ca marche pas , dis le moi.
0
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
ça ne marche pas :/
0
geoffreyvp
 
bon atta je vais tester en local et je te dis quoi plus tard.
0
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci beaucoup.

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);
0
geoffreyvp
 
moi ca me fais disparaitre la chaine bizarrement... quel est ton code pour verifier ?
0
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
Oui pareil pour moi.

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();
?>
0
geoffreyvp
 
et si tu recrée ta variable $postcontent comme ceci ???
$youtube = 'http://www.youtube.com';
$postcontent2 = "$youtube$postcontent2";
-1
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
Ca ne marche pas :(
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
0
geoffreyvp
 
que doit valoir ton postcontent2 tout d'abord ?
0
matiou34 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   4
 
Ok c'est bon, je viens de comprends mon erreur. Merci beaucoup !!
0