Probleme avec une expression regulière
10 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
Probleme avec une expression regulière
Bonjour,
Je cherche à ne garder que le texte de certaines de mes pages afin d'en faire des fichiers texte.
La fonction strip_tags élimine bien toutes les balises mais pas l'interieur des balises <script> et <style>
Voici le script:
J'ai don essayé des tas de choses comme:
Mais ça ne donne rien!
Quelqu'un connait il une expression regulière ou une autre manière pour épurer completement une chaine de caractere?
Merci de votre aide precieuse.
Je cherche à ne garder que le texte de certaines de mes pages afin d'en faire des fichiers texte.
La fonction strip_tags élimine bien toutes les balises mais pas l'interieur des balises <script> et <style>
Voici le script:
- Code: Tout sélectionner
<?
$fd = fopen ("mapage.php", "r");
while (!feof ($fd))
{
$buffer = fgets($fd, 4096);
$buffer = strip_tags($buffer, '<title>');
$buffer = trim($buffer);
$buffer = eregi_replace("<title>(.*)</title>", "", "$buffer");
$buffer = eregi_replace("l'expression regulière que je cherche pour eliminer le contenu des balises scripts", "", "$buffer");
echo $buffer;
}
fclose($fd);
?>
J'ai don essayé des tas de choses comme:
- Code: Tout sélectionner
$buffer = preg_replace ('^<script(.*)>(.*)</script>$', " ", $buffer);
Mais ça ne donne rien!
Quelqu'un connait il une expression regulière ou une autre manière pour épurer completement une chaine de caractere?
Merci de votre aide precieuse.
Non? personne n'a une petite idée?
Le script est sur le point de fonctionner, il semble que c'est une histoire d'espaces et de sauts de ligne qui empêche la bonne execution du script...
Si la page à traiter est de cette forme:
ça marche
Si la page à traiter est de cette forme (avec des sauts de ligne):
ça ne marche pas
Pourtant, j'ai bien enlevé les /n et les /r
Voir le code actuel:
Si quelqu'un peut m'eclairer, j'en serais ravi.
Merci d'avance.
Le script est sur le point de fonctionner, il semble que c'est une histoire d'espaces et de sauts de ligne qui empêche la bonne execution du script...
Si la page à traiter est de cette forme:
- Code: Tout sélectionner
<script>mafonction(){blableblibloblu}</script>
.....corps de la page.....
ça marche
Si la page à traiter est de cette forme (avec des sauts de ligne):
- Code: Tout sélectionner
<script>
mafonction(){blableblibloblu}
</script>
.....corps de la page.....
ça ne marche pas
Pourtant, j'ai bien enlevé les /n et les /r
Voir le code actuel:
- Code: Tout sélectionner
<?
$fd = fopen (monfichier.php, "r");
while (!feof ($fd))
{
$buffer = fgets($fd, 4096);
$buffer = str_replace(array("\n","\r"),array("",""),$buffer);
$buffer = preg_replace("/<script[^>]*>.*<\/script>/isU","",$buffer);
echo $buffer;
}
fclose($fd);
?>
Si quelqu'un peut m'eclairer, j'en serais ravi.
Merci d'avance.
-

George Abitbol - WRInaute accro

- Messages: 1923
- Inscription: Ven Juin 06, 2003 7:57
Lauweb a écrit:Le script est sur le point de fonctionner, il semble que c'est une histoire d'espaces et de sauts de ligne qui empêche la bonne execution du script...
Alors utilise l'option de recherche s, pour ta regex.
http://fr2.php.net/manual/fr/pcre.pattern.modifiers.php
Fred
Merci George
Mais j'utilise déjà cette option:
Je bloque...
Mais j'utilise déjà cette option:
- Code: Tout sélectionner
$buffer = preg_replace("/<script[^>]*>.*<\/script>/isU","",$buffer);
Je bloque...
-

George Abitbol - WRInaute accro

- Messages: 1923
- Inscription: Ven Juin 06, 2003 7:57
Ah oui, en effet. En fait je crois que tu devrais d'abord récupérer tout le contenu dans ta variable et après seulement faire le traitement sur cette variable. Parce que là tu traites ligne par ligne donc effectivement les motifs ne correspondent pas.
Fred
Fred
-

George Abitbol - WRInaute accro

- Messages: 1923
- Inscription: Ven Juin 06, 2003 7:57
Ben au lieu d'écraser la valeur de $buffer à chaque ligne parcourue, tu concatènes à la suite et à la fin de ta boucle tu auras tout le contenu dans $buffer. L'opérateur de la concaténation est le point.
Fred
Fred
-

George Abitbol - WRInaute accro

- Messages: 1923
- Inscription: Ven Juin 06, 2003 7:57
- Code: Tout sélectionner
<?php
$buffer = '';
$fd = fopen ("mapage.php", "r");
while (!feof ($fd)) {
$buffer .= fgets($fd, 4096);
}
fclose($fd);
?>
Et ensuite seulement tu fais ton traitement.
Fred
10 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Sandbox, blacklistage et autres pénalités de Google
- Nouvelle étude de WebRankInfo : les mots-clés et le référencement
- La calculatrice Google
- Impact du PageRank dans le positionnement Google
- Google Suggest API
- Google News : trucs et astuces
- Les bonnes stratégies de mots-clés pour le référencement
- Google Trends
- Exalead améliore son interface
- Lancement d'un dictionnaire collaboratif en ligne
- problème expression régulière
- Petit problème avec un expression régulière.
- probleme dans mon expression reguliere pour le rewriting
- re expression régulière...
- Expression régulière
- expression réguliere!please help!!!
- Expression régulière simple
- soucis expression reguliere
- expression régulière en javascript
- RedirectMatch et expression régulière
- Expression Régulière Malformée ?
- Expression régulière et redirect
- mauvaise expression reguliere?
- expression réguliére particuliére...
- RewriteRule Expression reguliere et boucle
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum