Bonjour,
Je n'y connais pas grand chose en expressions régulières.
J'aurais besoin d'aide :
Je voudrais dans un fichier texte :
trouver toutes les chaines de cette forme "page.php?PagNum=XX".
Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE).
Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX"
un numérique de 1 à 3 chiffres).
Merci pour votre aide.
PS. Je suis à la recherche, aussi, d'une documentation avec des exemples
de syntaxe des expressions régulières.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
marc.quinton-PAS-DE-
Bruno wrote:
Je voudrais dans un fichier texte : trouver toutes les chaines de cette forme "page.php?PagNum=XX". Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE). Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX" un numérique de 1 à 3 chiffres).
Merci pour votre aide.
PS. Je suis à la recherche, aussi, d'une documentation avec des exemples de syntaxe des expressions régulières.
c'est une bonne idée pour réaliser un cache. La doc de preg_match() est disponible sur le site; tu regardes, tu procedes a des essais et tu reviens nous voir avec ton petit bout de code si ca ne fonctionne pas.
l'autre idée pour gerer un cache a ta facon est celle-ci. C'est sans doute plus performant puisque basé sur la configuration apache.
soit une page numérotée XX, pour y acceder, je génére les liens qui vont bien dans mon site de cette facon (ce que tu comptes faire, a peu de chose pres) :
lien : http://.../pageXX.html
1/ si la page existe, elle est directement envoyée a l'utilisateur sans passer par php.
2/ en cas d'erreur, il est possible de recuperer via un script php, le contexte de l'erreur. Cela doit etre configuré dans apache. Et en faisant un phpinfo(), il est possible de voir sur quelle variable du serveur il faut pointer pour voir quelle page il faut servir ...
la doc php, c'est http://www.php.net/, certains vont chez nexen. il y en a bien d'autres.
Bruno wrote:
Je voudrais dans un fichier texte :
trouver toutes les chaines de cette forme "page.php?PagNum=XX".
Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE).
Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX"
un numérique de 1 à 3 chiffres).
Merci pour votre aide.
PS. Je suis à la recherche, aussi, d'une documentation avec des exemples
de syntaxe des expressions régulières.
c'est une bonne idée pour réaliser un cache. La doc de preg_match()
est disponible sur le site; tu regardes, tu procedes a des essais
et tu reviens nous voir avec ton petit bout de code si ca ne fonctionne
pas.
l'autre idée pour gerer un cache a ta facon est celle-ci. C'est
sans doute plus performant puisque basé sur la configuration apache.
soit une page numérotée XX, pour y acceder, je génére les liens qui
vont bien dans mon site de cette facon (ce que tu comptes faire, a
peu de chose pres) :
lien : http://.../pageXX.html
1/ si la page existe, elle est directement envoyée a l'utilisateur
sans passer par php.
2/ en cas d'erreur, il est possible de recuperer via un script php,
le contexte de l'erreur. Cela doit etre configuré dans apache. Et
en faisant un phpinfo(), il est possible de voir sur quelle variable
du serveur il faut pointer pour voir quelle page il faut servir ...
la doc php, c'est http://www.php.net/, certains vont chez nexen.
il y en a bien d'autres.
Je voudrais dans un fichier texte : trouver toutes les chaines de cette forme "page.php?PagNum=XX". Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE). Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX" un numérique de 1 à 3 chiffres).
Merci pour votre aide.
PS. Je suis à la recherche, aussi, d'une documentation avec des exemples de syntaxe des expressions régulières.
c'est une bonne idée pour réaliser un cache. La doc de preg_match() est disponible sur le site; tu regardes, tu procedes a des essais et tu reviens nous voir avec ton petit bout de code si ca ne fonctionne pas.
l'autre idée pour gerer un cache a ta facon est celle-ci. C'est sans doute plus performant puisque basé sur la configuration apache.
soit une page numérotée XX, pour y acceder, je génére les liens qui vont bien dans mon site de cette facon (ce que tu comptes faire, a peu de chose pres) :
lien : http://.../pageXX.html
1/ si la page existe, elle est directement envoyée a l'utilisateur sans passer par php.
2/ en cas d'erreur, il est possible de recuperer via un script php, le contexte de l'erreur. Cela doit etre configuré dans apache. Et en faisant un phpinfo(), il est possible de voir sur quelle variable du serveur il faut pointer pour voir quelle page il faut servir ...
la doc php, c'est http://www.php.net/, certains vont chez nexen. il y en a bien d'autres.
shak
"Bruno" a écrit dans le message de news:
Bonjour, Salut
Je voudrais dans un fichier texte : trouver toutes les chaines de cette forme "page.php?PagNum=XX". Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE). Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX" un numérique de 1 à 3 chiffres). J'utilise aussi cette méthode pour éviter de donner le nom exact du
fichier, mais il n'y a pas besoin d'expression régulière pour ça ! En plus, avec ta méthode, tu es obligé de stocker un tableau contenant le nom des fichiers existant... :/
Voici ce que j'utilise : <? if( isset($_GET['PagNum']) ){ if( file_exists('sous_rep/p'.$_GET['PagNum'].'.html') ){ //faire les opérations que tu veux. Pour moi c'est un include include( 'sous_rep/p'.$_GET['PagNum'].'.html' ); } else { //le fichier existe pas... affichage d'un message d'erreur include('404.html'); } } else { //la variable PagNum n'est pas définie, affichage de l'index ou autre... include('index.html'); } ?>
Voila. En plus, tu peux remarquer, que les fichiers sont stockés dans un sous-répertoire. C'est plus difficile a atteindre de cette facon. Pour encore plus de sécurité, tu peux appliquer une restriction d'accès sur le dossier avec un .htaccess (si t'es sur apache mais il y a le pendant sur IIS).
J'espère que c'est bien ce que tu voulais faire et que je suis pas parti dans mes délires pour rien... ;)
A+
Shak.
"Bruno" a écrit dans le message de news:
Bonjour,
Salut
Je voudrais dans un fichier texte :
trouver toutes les chaines de cette forme "page.php?PagNum=XX".
Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE).
Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX"
un numérique de 1 à 3 chiffres).
J'utilise aussi cette méthode pour éviter de donner le nom exact du
fichier, mais il n'y a pas besoin d'expression régulière pour ça !
En plus, avec ta méthode, tu es obligé de stocker un tableau contenant le
nom des fichiers existant... :/
Voici ce que j'utilise :
<?
if( isset($_GET['PagNum']) ){
if( file_exists('sous_rep/p'.$_GET['PagNum'].'.html') ){
//faire les opérations que tu veux. Pour moi c'est un include
include( 'sous_rep/p'.$_GET['PagNum'].'.html' );
}
else { //le fichier existe pas... affichage d'un message d'erreur
include('404.html');
}
} else { //la variable PagNum n'est pas définie, affichage de l'index ou
autre...
include('index.html');
}
?>
Voila. En plus, tu peux remarquer, que les fichiers sont stockés dans un
sous-répertoire. C'est plus difficile a atteindre de cette facon. Pour
encore plus de sécurité, tu peux appliquer une restriction d'accès sur le
dossier avec un .htaccess (si t'es sur apache mais il y a le pendant sur
IIS).
J'espère que c'est bien ce que tu voulais faire et que je suis pas parti
dans mes délires pour rien... ;)
Je voudrais dans un fichier texte : trouver toutes les chaines de cette forme "page.php?PagNum=XX". Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE). Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX" un numérique de 1 à 3 chiffres). J'utilise aussi cette méthode pour éviter de donner le nom exact du
fichier, mais il n'y a pas besoin d'expression régulière pour ça ! En plus, avec ta méthode, tu es obligé de stocker un tableau contenant le nom des fichiers existant... :/
Voici ce que j'utilise : <? if( isset($_GET['PagNum']) ){ if( file_exists('sous_rep/p'.$_GET['PagNum'].'.html') ){ //faire les opérations que tu veux. Pour moi c'est un include include( 'sous_rep/p'.$_GET['PagNum'].'.html' ); } else { //le fichier existe pas... affichage d'un message d'erreur include('404.html'); } } else { //la variable PagNum n'est pas définie, affichage de l'index ou autre... include('index.html'); } ?>
Voila. En plus, tu peux remarquer, que les fichiers sont stockés dans un sous-répertoire. C'est plus difficile a atteindre de cette facon. Pour encore plus de sécurité, tu peux appliquer une restriction d'accès sur le dossier avec un .htaccess (si t'es sur apache mais il y a le pendant sur IIS).
J'espère que c'est bien ce que tu voulais faire et que je suis pas parti dans mes délires pour rien... ;)
A+
Shak.
Antoun
trouver toutes les chaines de cette forme "page.php?PagNum=XX".
NB : le i à la fin de la regex suppose que tu veux une recherche insensible à la casse... l'enlever sinon
Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE). Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX" un numérique de 1 à 3 chiffres).
NB : le i à la fin de la regex suppose que tu veux une recherche
insensible à la casse... l'enlever sinon
Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE).
Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX"
un numérique de 1 à 3 chiffres).
NB : le i à la fin de la regex suppose que tu veux une recherche insensible à la casse... l'enlever sinon
Récupérer "XX" pour le comparer (in_array ("XX" ,$PAGE_EXISTE). Et remplacer les chaines "page.php?PagNum=XX" en "pXX.html" (avec "XX" un numérique de 1 à 3 chiffres).