Page 1 sur 1

Problème d'affichage de log / caractères

Posté : 01 mars 2011, 14:26
par licks0re
Bonjour à tous!

Voilà, je n'arrive pas à faire afficher correctement une recherche d'un log.

En deux mots : (ou un peu plus)

J'ai un page qui récupère une variable et qui va faire un grep de celle ci, sur un log. (un log de mail). (avec passthru / system ou shell_exec, c'est kifkif)
Je récupère donc ce que je veux dans ma variable.

Lorsque je l'affiche, il me manque "des bouts". En gros, les mails qui sont entre <>.

Un exemple concret : s'affiche comme ceci : J'ai regardé double_encode, urldecode, htmlentities, sans succès jusque maintenant.

Voilà, si quelqu'un à d'autres pistes, je suis plus que preneur :)

Merci d'avance!

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 14:38
par Mazarini
Bonjour,

Si tu regardes la source de ta page , tu verras que le texte est bien présent.

Il faut que tu utilises http://php.net/manual/fr/function.htmlentities.php (à vérifier)

Le principe est de remplacer < par < et > par > (str_replace si htmlentities n'est pas la bonne fonction)

Edit : remplacer < doit être suffisant

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 14:57
par licks0re
Mazarini,

Merci pour ta réponse rapide. Malheuresement, je n'arrive à rien ni avec str_replace. ni avec les html_entities.
En fait, le str_replace ne fonctionne pas correctement à priori.

Est ce que je peux traiter un texte qui vient du résultat d'un "passthru" sans quatres manipulation ? Parceque là, j'ai un doute.

edit:
Même avec http://www.chuggnutt.com/html2text.php ça ne fonctionne pas.... je me demande vraiment si mes champs avec les mails "<[email protected]>" remontent vraiment dans ma variable.

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 15:29
par moogli
salut,

quel est le code utilisé ?

pour être certain du contenu de la variable utilisé => var_dump ;)

@+

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 15:50
par licks0re
Hello Moogli,

bon ben var_dump me posait les même problèmes, je suppose donc que pour une raison ou une autre, j'ai des infos de "system / passthru / shell_exec" qui remontent mal.

Le code est celui ci:

Code : Tout sélectionner

<?php header('Content-Type: text/html; charset=utf-8'); echo "<pre>"; $searchpattern = $_POST['searchpattern']; echo "Results for $searchpattern :"; echo "<br /> <br />"; $search = system("sudo less /var/log/mail | grep $searchpattern"); var_dump("$search"); echo "</pre>"; ?>
Si "var_dump" crache tout, c'est pas là...

J'ai essayé de faire aboutir mon grep dans un fichier texte, puis de l'afficher ensuite, mais l'affichage du fichier me pose le même problème!
Par contre, le fichier texte, lui, est correct... donc c'est des caractères qui remontent du système vers le php qui ne sont pas pris en compte.

Pour info, c'est un log de postfix.

Code : Tout sélectionner

Feb 28 23:59:05 server.host.com amavis[25815]: (25815-11) Passed CLEAN, <[email protected]> -> <[email protected]>, Message-ID: <[email protected]>, mail_id: if8OFM+gg3ft, Hits: -3.2, size: 627, queued_as: 766B64C3AA, 256 ms
Me donne :

Code : Tout sélectionner

Feb 28 23:59:05 server.host.com amavis[25815]: (25815-11) Passed CLEAN, -> , Message-ID: <[email protected]>, mail_id: if8OFM+gg3ft, Hits: -3.2, size: 627, queued_as: 766B64C3AA, 256 ms
Quelqu'un a une piste ? :)
Bon aprem :wink:

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 17:30
par Mazarini
Est ce que tu as vérifié le source de la page HTML ? <TOTO> n'est jamais affiché dans le navigateur

$search = str_replace('<', '<' , $search);
$search = str_replace('>', '>' , $search);
var_dump("$search");

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 17:44
par licks0re
Re,

Alors,

Lorsque je regardais le source de la page, je ne voyais pas les données manquantes.

Entre temps, j'ai fais un script avec sed pour remplacer les caractères < et >, mettre dans un fichier et afficher ce fichier.
Néamoins, je préfères ta solution et le replace fonctionne correctement. Je vois dans la source, "<" avant les mails, etc, donc cela fonctionne.

Je ne me souviens plus de la syntaxe que j'ai utilisé précédemment pour faire ces remplacement de caractères, mais visiblement, ce n'étais pas la bonne!

Mon problème est résolu :wink:

Merci Mazarini & moogli pour vos lumières! =D>

Re: Problème d'affichage de log / caractères

Posté : 01 mars 2011, 18:20
par moogli
heu de rien :)

peu tu cliquer sur la bouton résolu (coche verte) sur le post qui t'a aider à résoudre ;)


@+