Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
846 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  se positionner à un endroit dans un texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

se positionner à un endroit dans un texte

n°1224368
hornetmen
GaZZzz... Et Flash....22
Posté le 17-10-2005 à 12:07:17  profilanswer
 

Bonjour, voila ma problématique:
 
J'ai un champ dans ma bdd qui contient un log du type:
 
Debut de 'job1'
..
..
..
fin de 'job1'
Debut de 'job2'
..
..
..
fin de 'job2'
 
J'affiche le log complet dans un <textarea>
 
Je souhaiterais me positionner dans le log, à la ligne 'debut de Job2' par exemple.
 
Est-ce possible ?
Merci d'avance.
Rudy

mood
Publicité
Posté le 17-10-2005 à 12:07:17  profilanswer
 

n°1224372
FlorentG
Unité de Masse
Posté le 17-10-2005 à 12:11:20  profilanswer
 

Avec une regexp bien placée, essaye de transformer ça en :

<textarea id="job1">
  Debut de 'job1'
  ..
  ..
  ..
  fin de 'job1'  
</textarea>
<textarea id="job2">
  Debut de 'job2'
  ..
  ..
  ..
  fin de 'job2'  
</textarea>


Ensuite tu fais un lien du genre :

logjob.php#job2

n°1224377
hornetmen
GaZZzz... Et Flash....22
Posté le 17-10-2005 à 12:15:29  profilanswer
 

Pour bien cerner mon pb:
 
Mon code:
 

Code :
  1. function showlog()
  2. {
  3. $incid = $_GET['incid'];
  4. $sql = "select log from serverlog where incid='$incid'";
  5. $result = exec_sql($sql)or die(mysql_error());
  6. $row = mysql_fetch_object($result);
  7. print("
  8.          <table width = 100% cellspacing = 0>
  9.          <tr>
  10.          <td width = 100% class='tdshowlog'>
  11.         
  12.          <textarea rows='44' cols='160'>
  13.          $row->log
  14.          </textarea>
  15.          </td>
  16.          </tr>
  17.          <tr>
  18.  " );
  19. }


 
Et ma sortie:
 
4. show_space
-----------------------------------------------------------------------------------------------------------
Debut         : 16/10/05 a 21:04:52
 
 Name                 Data MB       Used MB        Percent Log MB    Log Used  Log Pct  
 -------------------- ------------- -------------- ------- --------- --------- -------  
 codav9                        2000         1419.6   70.98       500      0.06    0.01  
(return status = 0)
 
Fin normale   : 16/10/05 a 21:05:03
      => /sauvegarde/dtsrv1/log/20051016_2104_show_space.log
 
 
5. purge_log
-----------------------------------------------------------------------------------------------------------
Debut         : 16/10/05 a 21:05:03
 
Archivage mensuel programme entre le 5 et le 9 du mois
 
Fin normale   : 16/10/05 a 21:05:04
      => /sauvegarde/dtsrv1/log/20051016_2105_purge_log.log


Message édité par hornetmen le 17-10-2005 à 12:15:40
n°1224379
hornetmen
GaZZzz... Et Flash....22
Posté le 17-10-2005 à 12:17:06  profilanswer
 

et donc, je connais les intitulés genre "purge_log" etc ........
Et Je peux les passer en argument.
 

n°1224382
FlorentG
Unité de Masse
Posté le 17-10-2005 à 12:18:08  profilanswer
 

Bah voilà -> regexp

n°1224484
hornetmen
GaZZzz... Et Flash....22
Posté le 17-10-2005 à 13:48:59  profilanswer
 

Ok pour regexp.
 
Tu peux m'aiguiller ?
Je voit pas comment faire.

n°1224655
protoss_tt​h
May the Code be with you
Posté le 17-10-2005 à 15:45:17  profilanswer
 

je pense que c'est possible en javascript avec une commande du style:  
textArea.setCaretPosition(textArea.getDocument().getLength()) ou
textarea.setSelectionRange(selectionStart, selectionEnd).
 
Consultes les liens suivants:
http://java.sun.com/docs/books/tut [...] tarea.html
http://www.toutjavascript.com/foru [...] 02&start=0
http://www.trucsweb.com/Forum/voir [...] osparent=0
 
Edit. Tuto Regex:
http://www.siteduzero.com/php/regex1.php


Message édité par protoss_tth le 17-10-2005 à 15:47:55
n°1224660
hornetmen
GaZZzz... Et Flash....22
Posté le 17-10-2005 à 15:49:46  profilanswer
 

Toujours personne ?
J'ai pas de problème avec le regexp, mais avec la gestion de l'affichage.
 
Je sais modifier $row->log pour remplacer "purge_log" en textearea id="purge_log".
 
=> OK
 
Mais après, comment je fais ?
 
Pour info, l'URL est la suivante :
http://xxx/exploit/foor.php?view=s [...] ncid=89585
 
ou view=showlog, => lancement de la fonction "showlog" ecrite plus haut.
 
Alors je sais bien faire un truc du genre:

Code :
  1. $log = $row->log;
  2. $logout = ereg_replace("[?. ]dump_all_db","<textarea id='dump_all_db'> ",$log);


 
Mais c'est la suite qui me pose problème.

n°1224840
sielfried
Posté le 17-10-2005 à 18:29:29  profilanswer
 

J'ai rien compris au dernier post et à ce que t'essaies de faire. [:mlc]
 

Code :
  1. $log = preg_replace('#[0-9]\\. ([a-z_ ]+?)\\r?\\n-{107}(.+?)\\.log#s', '<textarea rows="44" cols="160" id="\\\\1">Job \\\\1:' . "\\r\\n" . '\\\\2</textarea><br />', $log);


 
edit: il serait temps de signaler à qqun le problème des antislashs zappés dans les [ cpp ] :/


Message édité par sielfried le 17-10-2005 à 18:34:29

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1224899
FlorentG
Unité de Masse
Posté le 17-10-2005 à 19:44:27  profilanswer
 

Pour les anti-slash zappés, suffit de les doubler [:spamafote] Une fois qu'on sait ça, plus de problèmes :D

mood
Publicité
Posté le 17-10-2005 à 19:44:27  profilanswer
 

n°1224903
sielfried
Posté le 17-10-2005 à 19:54:55  profilanswer
 

Ouais je sais bien mais je suis feignant. Et j'oublie toujours. :(


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1225125
hornetmen
GaZZzz... Et Flash....22
Posté le 18-10-2005 à 09:58:00  profilanswer
 

Bah ecoute, j'ai mon log complet dans la variable $log.
Je connais le nom des jobs.
 
Je veux pouvoir consulter une partie du log, sans tout afficher.
 
J'ai pas de problèmes avec les regexp.
 
Je bute sur l'affichage.
 
Comment à partir de mon $log, puis-je afficher un bloc texte qui commence par "1.job" => "Fin a/normale" du même job.
 

n°1225148
hornetmen
GaZZzz... Et Flash....22
Posté le 18-10-2005 à 10:25:42  profilanswer
 


Contenu de $log:
 

Code :
  1. 4. show_space
  2. -----------------------------------------------------------------------------------------------------------
  3. Debut         : 16/10/05 a 21:04:52
  4. Name                 Data MB       Used MB        Percent Log MB    Log Used  Log Pct 
  5. -------------------- ------------- -------------- ------- --------- --------- ------- 
  6. codav9                        2000         1419.6   70.98       500      0.06    0.01 
  7. (return status = 0)
  8. Fin normale   : 16/10/05 a 21:05:03
  9.       => /sauvegarde/dtsrv1/log/20051016_2104_show_space.log
  10. 5. purge_log
  11. -----------------------------------------------------------------------------------------------------------
  12. Debut         : 16/10/05 a 21:05:03
  13. Archivage mensuel programme entre le 5 et le 9 du mois
  14. Fin normale   : 16/10/05 a 21:05:04
  15.       => /sauvegarde/dtsrv1/log/20051016_2105_purge_log.log


 
On prend mon problème à l'envers ok ?
Comment je peux lire dans ma variable de "5. purge_log " à "Fin normale   : 16/10/05 a 21:05:04  
      => /sauvegarde/dtsrv1/log/20051016_2105_purge_log.log"
 
J'espere que c'est compréhensible  :)

n°1225183
sielfried
Posté le 18-10-2005 à 10:50:28  profilanswer
 

Qu'est-ce que ça donne mon preg_replace ? J'ai testé en local et ça avait l'air OK.
 
Tu peux adapter à partir de là. :spamafote:

n°1225190
hornetmen
GaZZzz... Et Flash....22
Posté le 18-10-2005 à 10:54:00  profilanswer
 

sielfried a écrit :

Qu'est-ce que ça donne mon preg_replace ? J'ai testé en local et ça avait l'air OK.
 
Tu peux adapter à partir de là. :spamafote:


 
Ca marche ;)
Mais j'ai pas tout compris ;)
 
Donc faut que je pige avant de continuer.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  se positionner à un endroit dans un texte

 

Sujets relatifs
Editeur de texte WYSIWYGProbleme generation texte sur image
CSS : Flottement de tableaux combiné avec du texte justifiépersonnaliser texte formulaire
Supprimer la premiére ligne d'un fichier texteCSS : caler une image de fond sur un texte centré.
Interdire le texte dans un champscopier le contenu d'un fichier texte dans un fichier html
placement du texte dans un boutonCSS : positionner une image ou un bloc en bas d'un autre bloc
Plus de sujets relatifs à : se positionner à un endroit dans un texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR