begin process at 2012 05 31 17:30:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Aide & documentation

 > 

Stripslashes sur certaines lignes uniquement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Stripslashes sur certaines lignes uniquement

lundi 17 août 2009 à 15:44:25 | Stripslashes sur certaines lignes uniquement

Kommius

Bonjour à tous, :mrgreen:

Je cherche à faire un script relativement simple.

Il s'agit d'aller extraire le contenu d'un fichier, et faire un [code]stripslashes[/code] sur toutes les lignes contenant un [code]echo "";[/code].

Pour le moment, voici le bout de code que j'ai réussi à pondre :


[php]$file_contents = file_get_contents($fichier);

if(preg_match_all('`^echo"(.*?)"', $file_contents, $matches)){

foreach ($matches as $val) {
$processed .= stripslashes($val);
}
} else {
$processed .= $file_contents; //-- Que dois-je mettre ici si le match ne correspond pas?
}

file_put_contents($fichier, $processed);
[/php]

Suis-je sur la bonne piste? Quelqu'un peut-il m'orienter dans la bonne direction s.v.p? Merci à vous!! :)

vendredi 21 août 2009 à 14:58:18 | Re : Stripslashes sur certaines lignes uniquement

neigedhiver

Réponse acceptée !

Salut,

Tu devrais jeter un oeil à cette fonction tout à fait intéressante qu'est preg_replace_callback(). Ton expression régulière est correcte (et puis d'ailleurs tu sais mieux que moi si elle l'est ou pas, puisque tu ne donnes pas d'exemple de fichier lu), il te reste à la mettre dans preg_replace_callback et tu feras ton remplacement en une seule ligne.
Cette fonction t'évitera d'ailleurs de te poser la question si pour une ligne la correspondance n'est pas trouvée : parce que comme tu ne parcours que les lignes qui correspondent, les autres sont purement et simplement passées à la trappe... Exemple :

function my_strip($input) {
return stripslashes($input[1]);
}

$processed = preg_replace_callback('`^echo(?:\s)"([^"]*)"`m', 'my_strip', file_get_contents($fichier));

J'ai modifié un peu l'expression régulière : on autorise des espaces entre echo et le premier guillemet double, et entre les guillemets, on accepte tous les caractères qui ne sont pas des guillemets doubles. Et l'option m permet de considérer le fichier sur plusieurs lignes, pour rendre valable l'assertion de début de ligne (le caractère ^)

lundi 7 septembre 2009 à 19:44:43 | Re : Stripslashes sur certaines lignes uniquement

Kommius

Réponse acceptée !

Merci beaucoup pour l'aide!!

Au cas ou cela pourrait servir à quelqu'un, je vous met le code utilisé :

Code PHP :
$file_contents = preg_replace_callback(

'`echo\s*([\'"])(.*?)\1;`sm',
create_function(
'$matches',
'return stripslashes($matches[2]);'
),
$file_contentsc
);

echo "$file_contents";



Cette discussion est classée dans : code, file, lignes, stripslashes, contents


Répondre à ce message

Sujets en rapport avec ce message

numerotation des lignes d'un code [ par p3x ] voila je cherche un script ou une fonction en rapport avec le sujet comme sur CS Fichier excel [ par flopad ] Bonjour, grace à ce code, je récupère les infos dans une bdd access et les envoie dans un fichier excel.Je voudrais au lieu de créer chaque fois le fi file_get_contents ne parse pas le php [ par Linuss ] Bonjour à tous, Alors voilà, je me suis remis au php après un temps d'arrêt, et du coup je tombe sur un os tr&#232 Simulation d'un tableau excel sur IE [ par Instinctiv ] Bonjour,Voici mon problème, je l'exprime avec mes mots de profane :- J'ai un fichier excel (environs 7colonnesX4000 Lignes).- Je souhaitrais que mes c file_get_contents ne fonctionne pas comme voulu [ par sousoulebarbu ] Bonjour, J'ai juste une ligne de code que je n'arrive pas à faire fonctionner:echo file_get_contents("http://pelerin.lesagencestv.com/php/recherche_re la fonction file() maléfique [ par Radiohead4ever ] Bon je commence avec le php et j'ai un petit problème concernant la fonction file(). Celle-ci, selon la doncumentation, serait supposé lire ligne par Un bout de code simple qui ne marche pas [ par masterofquebec ] Voici le premier code que j'ai fais utilisant sql :   include "config.php";    $connect = mysql_connect($serveur,$nick,$pass) or die ("erreur de con File_get_contents sur une URL : encodage [ par mentral ] Bonjour,Je suis en train de coder un script qui récupère une page HTML et l'analyse pour en extraire des informations. Pour cela, j'utilise file_get_c upload de fichier - interdire l'up de php. [ par pipouz ] bonjour a tous voila , jai un petit formulaire d'envoi de fichiers sur mon server apache , mais je voudrais pouvoir empecher l'upload de fichier PHP,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales