Services : Blog Forum Flux
Formation Trafic : Référencement Liens sponsorisés Affiliation Ecommerce Nom de domaine E-réputation Marketing Mobile Black Hat Outils Referencement
Formation Technique : Performance Web Html Css Sql Curl Asp Dotnet Php Ajax Wordpress Twitter Google Analytics PrestaShop

Forum Oseox
Oseox

Lire et editer un fichier texte en php

Forum Référencement et Trafic
Nous sommes le Mar 21 Aoû 2018 14:45

Heures au format UTC [ Heure d’été ]




Poster un nouveau sujet Répondre au sujet Aller à la page 1, 2  Suivante
Auteur Message
MessagePosté: Lun 11 Mai 2009 22:49 
Avatar de l’utilisateur
Bonjour, je viens demander de l'aide après 2 semaines de tentative infructueuse !

je vous explique, j'ai créer un genre de lecteur de news en ActionScript2 (flash), qui va chercher les news dans un fichier texte qui est préalablement formater via un fichier CSS, jusqu'à là, tout fonctionne nickel, j'arrive à récupérer mes news, à naviguer entre les précédentes et le suivantes ...etc

Voici l'exemple de mon fichier texte :


Code:
&img=<img src='./images/img.jpg' class='newsImg' Hspace='15' Vspace='6' align='left' width='202px' height='303px'/>&date=<p class='newsDate'>18 Decembre 2004</p>&titre=<p class='newsTitle'>Le titre</p>&texte=<p class='newsText'>Mauris posuere iaculis lectus. Maecenas fringilla viverra libero. Aenean adipiscing massa non orci.Etiam quis lacus sed pede porttitor dignissim.
Do you like <a href='http://www.lesite.com' target='_blank' class='bURL'>Le site</a>. Nullam malesuada leo et turpis tincidunt eleifend.Proin non eros et mauris suscipit fringilla.In hac habitasse platea dictumst. Maecenas varius.Duis ipsum nibh, varius a, aliquet nec, ornare ac, diam. Nam sollicitudin bibendum elit.Sed pellentesque tincidunt mi.
Do you like <a href='http://www.lesite.com' target='_blank' class='bURL'>Le site</a>. Nullam malesuada leo et turpis tincidunt eleifend.Proin non eros et mauris suscipit fringilla.In hac habitasse platea dictumst. Maecenas varius.Duis ipsum nibh, varius a, aliquet nec, ornare ac, diam. Nam sollicitudin bibendum elit.Sed pellentesque tincidunt mi.
Do you like <a href='http://www.site.com' target='_blank' class='bURL'>Le Site</a>. Nullam malesuada leo et turpis tincidunt eleifend.Proin non eros et mauris suscipit fringilla.In hac habitasse platea dictumst. Maecenas varius.Duis ipsum nibh, varius a, aliquet nec, ornare ac, diam. Nam sollicitudin bibendum elit.Sed pellentesque tincidunt mi.
Do you like <a href='http://www.site.com' target='_blank' class='bURL'>BullzArtDesign</a>. Nullam malesuada leo et turpis tincidunt eleifend.Proin non eros et mauris suscipit fringilla.In hac habitasse platea dictumst. Maecenas varius.Duis ipsum nibh, varius a, aliquet nec, ornare ac, diam. Nam sollicitudin bibendum elit.Sed pellentesque tincidunt mi.</p>
<p class='signature'>auteur - 1.22.2006</p>



Mon problème est que je cherche à afficher ce fichier texte en php dans mon interface admin wordpress (ca j'y arrive), et ensuite l'éditer toujours en php via mon interface wordpress dans un textarea (et ca....??) !

Donc dans un premier temps je me demandais si il n'y aurait pas une solution plus simple via les flashvars pour éditer ce fichier texte ?


Je vous donne mon code php qui me permet de récupérer mon fichier texte:

Code:

 
function montxt_readme_page() {
        $content = file_get_contents(TEMPLATEPATH.'/news_content/news_text.txt');
        $content = htmlspecialchars($content);
        $content = preg_replace('/(http:\S+)/', '<a href="\1">\1</a>', $content);
 
   
       echo '<div class="wrap">';
       echo '<div align="center">';
       echo '<table width="100%">';
       echo '<textarea cols="50" rows="20" style="margin:20px auto;">'.$content.'</textarea>';
       echo '</table>';
       echo '</div>';
       echo '</div>';
    }
?>
 


Dans un premier temps je voudrais enlever à l'affichage simplement les balises html mais je souhaiterai les conserver pour ainsi conserver ma mise en forme css, et dans le deuxième temps je souhaiterais pouvoir dans un textarea , pouvoir réécrire ce que l'on veut dans ce textarea donc dans le fichier texte !!!

le problème c'est que j'ai tenter beaucoup de chose et je n'arrive à rien avec mes modestes connaissance, comme vous le voyez j'ai reussi quand même à transformer mes liens du fichier texte en lien cliquable ;) , mais un peu d'aide pour le reste ne serait pas de refus !

Donc j'attends vos suggestions, vos avis et surtout savoir si ce que je souhaiterais faire reste dans la mesure du possible !

PS: Je précise que c'est un plug in wordpress que je suis entrain de développer !

Modération : Merci de limiter les !!! cela donne l'impression que tu es en colère :)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Lun 11 Mai 2009 22:53 
Avatar de l’utilisateur
Ah oui j'oubliais, je pensais partir sur un script du genre ceci mais hummmm !!!

Code:
<?php
if(!$fichier = fopen("monfichier.txt", "r+")) {
                echo "<div style='color:red'>lecture du fichier impossible</div>";
        } else {
        $lehtml="";
        while (!feof($fichier)) {
        $buffer = fgets($fichier, 4096);
        $lehtml .=$buffer;
        }
       
        }
       
        $lehtml .="J'ajoute ceci";
       
        echo $lehtml;

        fseek($fichier, 0);
        fputs($fichier, $lehtml);


fclose ($fichier);
?>



Qu'en pensez vous ?


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 02:06 
Avatar de l’utilisateur
Bon avec un peu d'huile de coude je viens de parvenir à quelque chose de pas trop trop mal !

Donc j'arrive à charger mon fichier texte (mais pas dans le textarea, grrr) , puis je parviens enfin à écrire quelque chose dessus mais ... car il y a toujours un mais !

Vu que je ne suis pas très douer même avec deux livre sur le php 4 et 5 à mes cotés et mon cher ami google, je ne parviens pas à coder une fonctions satisfaisante pour pouvoir éditer ce texte via un boite formulaire "textarea" et je ne parviens pas non plus à transformer les balises &img=, &titre=, &texte= (codé pour l'ActionScript) !

Il faudrait que :

1- Je parvienne à coder une fonction qui tienne la route pour éditer mon texte (seulement un paragraphe de la balise AS "&texte=" ) via une box formulaire 'textarea" !!!

2- Je parvienne à coder aussi un truc qui me chargerais automatiquement soit par la balise ActionScript "&titre=" , soit par la class css "newsTitle" dans un box form input pour pouvoir l'éditer ensuite.

3-Je parvienne à coder idem que le précédent, un truc qui me chargerais automatiquement soit par la balise ActionScript "&date=", soit par la class css "newsDate" dans un box form input pour pouvoir l'éditer ensuite.

4-Je parvienne à coder idem que le précédent, un truc qui me chargerais automatiquement soit par la balise ActionScript "&img=", soit par la class css "newsImg" dans une balise "div" avec une "form select box" qui me permettrait de répertorier une liste d'images dans un dossier spécifique et ensuite assigner l'image sélectionner.


5 - et le plus important bien sur, le tout avec un bouton formulaire "submit" qui permet de valider les modifs !

Donc, si vous avez une âme charitable pour un pauvre petit novice en php comme moi qui souhaite enrichir ses maigres connaissances et que vous voulez m'helper soit en m'indiquant un exemple de code qui pourrait m'inspirer ou qui pourrait me mettre sur la bonne piste, n'hésitez pas ! ;)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 10:42 
Administrateur
Avatar de l’utilisateur
Hello,

Je viens de lire des 3 messages et je dois t'avouer que cela est un peu confus (je connais très peu AS). Le plus simple serait de prendre chaque problème les uns après les autres. D'ailleurs cela peut décourager un peu les membres à te répondre car c'est costaud à lire :lol:

Si j'ai bien compris, tu cherches à afficher du contenu dans un textarea.

Ton code me semble parfait.
Code:
echo '<textarea cols="50" rows="20" style="margin:20px auto;">'.$content.'</textarea>';


A partir de ce moment là. Il est possible d'éditer le contenu dans le textarea non ? Et lorsque l'on valide le formulaire de mettre à jour le contenu.

En revanche pour :

Citation:
Je voudrais enlever à l'affichage simplement les balises html mais je souhaiterai les conserver pour ainsi conserver ma mise en forme css, et dans le deuxième temps je souhaiterais pouvoir dans un textarea , pouvoir réécrire ce que l'on veut dans ce textarea donc dans le fichier texte


Je ne vois pas du tout comment faire. Dans wordpress, on peut passer d'un mode wysiwyg au mode HTML donc cela doit être possible.

Peut être avec une fonction javascript qui va agir sur le contenu de ton textarea pour cacher les balises ?

Pour tes points 2 et 3, c'est le même principe que pour le textarea :

Code:
echo "<input type='text' value='$content'>";


Si tu souhaites juste avoir le contenu entre les balises <p class="newsText"> et je ne sais pas quoi, il te faut utiliser des expressions régulières. Cf fonction : Ereg, preg_match

Désolé si je réponds complètement à coté, je ne suis pas sur d'avoir compris ton problème.

4 - Hum, voici un script que je viens de coder rapidement (donc non testé) qui parcourt un répertoire et stocke le nom de chaque fichier dans un tableau.

Code:
<?php
$rep = "./image/";
$dir = opendir($rep);

$i=0
while ($f = readdir($dir)) {
   if(is_file($rep.$f)) {
      $tabFichier[$i]=$f;
$i++
}
?>


A partir de là pour afficher le nom des fichiers dans un select :

Code:
<select name="image">

<?php
$i=0;
$limite=count($tabFichier);
while($i<=$limite){
   print("<option value=\"$tabFichier[$i]\">$tabFichier[$i]</option>");
}
?>

</select>


Bon courage en tout cas.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 10:53 
Professionnel
Professionnel
Avatar de l’utilisateur
Désolé si tu as déjà répondu à ta question, mais j'ai la flemme de tout lire :oops:

AS peut très bien aller lire tout seul dans un fichier (encodé utf-8), je te conseille vivement d'utiliser AS pour récupérer le contenu, et surtout pas de le récupérer via Flashvars (d'autant qu'il s'agit de HTML). En revanche, tu peux très bien indiquer dans les flashvars sur quel fichier récupérer le contenu.

Tu parles du textarea composant Flash j'imagine, tu peux y intégrer du HTML (pas trop complexe, le html par contre), il te suffit de coller html à true, et d'affecter ton contenu de cette manière :

Code:
tonTextArea.htmlText = "...";


l'accès fichier est très performant en flash, autant l'utiliser, tu peux néanmoins te servir de PHP pour générer un fichier encodé en UTF-8 pour AS.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 11:21 
Avatar de l’utilisateur
Citation:
@Aurelien :
Je ne vois pas du tout comment faire. Dans wordpress, on peut passer d'un mode wysiwyg au mode HTML donc cela doit être possible.


Avec la commande tidy intégré dans PHP rien de plus simple ;)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 13:21 
Avatar de l’utilisateur
et ben dite donc, y a de la réponse ici, moi qui croyait avoir un post qui serait tombé dans les oubliette des une semaine ;)

J'ai bien eu raison de m'arrêter ici quand j'ai vu de la lumière ;)

Alors, il y a du bon et du mauvais car comme d'habitude je m'exprime très mal , donc je comprend que ca as été pour vous très dur à comprendre

Je vais répondre du premier au dernier en tentant d'être plus explicite sur mon problème :

Aurélien :

Citation:
Ton code me semble parfait.
A partir de ce moment là. Il est possible d'éditer le contenu dans le textarea non ? Et lorsque l'on valide le formulaire de mettre à jour le contenu.


Ben étant pas un pro, je me disait qu'il devait y avoir un bug dans mon code php car ca ne veut pas s'afficher dans la box form "textarea", mais j'y était parvenue avec un autre essai de code et je pouvais bien modifier le texte dedans mais j'avais pas reussi à coder une fonction qui tenait la route pour le bouton "submit" de validation des changement !!!

Je te joint un screenshot de ce qui apparait à mon écran :
[img]http://img12.imageshack.us/img12/7839/sscod.th.jpg[img]


PS: J'ai tenté en même d'expliquer en image ce que je voudrais réaliser

Au sujet de l'éditeur TinyMCE de wordpress (éditeur visuelle ou editeur html) , je ne parle pas de lui, car je ne souhaite pas passer par lui, je veut juste charger mon fichier texte (exemple de contenu que j'ai mis dans mon premier post) et n'afficher que le texte sans les balises, mais bon comme vous pouvez le voir sur mon screenshot, ca y est ca c'est bon j'y suis parvenue avec un preg_replace mais il me reste quand même les balises maison AS (&img=, &date=...) a retirer et ca je ne parvien pas à coder un preg_replace valable !

Citation:
Pour tes points 2 et 3, c'est le même principe que pour le textarea :
Code:
echo "<input type='text' value='$content'>";


Pour les input form, la je suis pas sur non plus d'avoir compris ton raisonnement , faut que mes explication aussi.... au fait j'espère qu'il vous reste des cheveux à vous arracher ;)
Pourquoi la la valeur = $content, si je met ça comme valeur tous mon ficheir texte va s'afficher dans l'input form box ? non ?
En fait j'aurais besoin juste d'apres le formatage de mon texte de ceci :

<input type='text' value='&Date'> (qui correspondrait a la date)

<input type='text' value='&Titre'> (qui correspondrais au titre)

<textarea value='&text_P1'>. $text_P1 .</textarea> ( le P1 correspondrait évidemment au premier paragraphe )

<textarea value='&text_P2'>. $text_P2 .</textarea> ( idem que le P1 et ainsi de suite.... )

<input type='text' value='&Sig'> (qui correspondrait à la signature )

<select name="list_of_pics">. $list_of_pics .</select> (ca correspondrais à une liste box qui permettrait de choisir une image dans un dossier bien spécifique... je n'ai pas encore eu le temps de tester et d'adapter ton code mais je vais le faire, je te tient au jus merci à toi )

Voila, j'espère deja avoir résolu pas mal d'incompréhension sur ce que j'avais auparavant mal expliquer ;)

Stéphane :

Merci pour ton aide mais le fichier texte est déjà récupérer par le lecteur de news flash, et t'inquiète pas ;) , pas en flashvars !!!
je ne peut bien évidemment pas tout expliquer sur mon intégration car c'est deja assez complexe comme ça, mais l'intégration complète est comme je l'ai préciser pour un plug in wordpress que je suis entrain de concevoir, elle mélange flash (actionscript, javascript Jquery, php, css et xhtml ...)


Aurélien :

Je ne compte pas passé par le TinyMCE de wordpress, mon plug in sera totalement indépendant



merci à vous tous pour votre aide très précieuse et merci pour l'accueil que vous m'avez fait ;)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 17:49 
Avatar de l’utilisateur
accrok a écrit:
Au sujet de l'éditeur TinyMCE de wordpress (éditeur visuelle ou editeur html) , je ne parle pas de lui, car je ne souhaite pas passer par lui, je veut juste charger mon fichier texte (exemple de contenu que j'ai mis dans mon premier post) et n'afficher que le texte sans les balises, mais bon comme vous pouvez le voir sur mon screenshot, ca y est ca c'est bon j'y suis parvenue avec un preg_replace mais il me reste quand même les balises maison AS (&img=, &date=...) a retirer et ca je ne parvien pas à coder un preg_replace valable !

Pour supprimmer toutes les balises PHP et HTML d'une chaine, utilise la fonction strip_tags()
ainsi pas besoin de se prendre la tete avec des expressions réguliéres pour preg_replace ;)

Exemple :
Code:
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Autorise <p> et <a>
echo strip_tags($text, '<p><a>');
?>

L'exemple ci-dessus va afficher :
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>


Plus d'informations sur PHP.net : strip_tags


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 20:05 
Administrateur
Avatar de l’utilisateur
Pour newsTitle, newsDate etc, il te faut utiliser des expressions régulières.

Jette un coup d'oeil sur la page que je t'indique et particulièrement aux fonctions Ereg, preg_match, pourquoi pas strpos. Tu arriveras à faire cela sans problème.

@lemoussel : Le problème amha n'est pas de supprimer à l'affichage les balises indésirables mais de les récupérer avec les modifications lors de la validation du formulaire.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 12 Mai 2009 20:11 
Avatar de l’utilisateur
Aurelien, pas si sur car accrok indique "n'afficher que le texte sans les balises"


Haut
 Profil Envoyer un e-mail  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 14 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC [ Heure d’été ]


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Abonnez-vous au flux RSS

Blog

Copyright : Moteur, traduction et optimisation
Merci de votre visite sur le forum Oseox