2009-10-18 8 views
0

matin. Je veux retirer tous les segments du code php d'un fichier situé sur mon serveur local. Le problème est que je ne semble pas aller n'importe où, aucune erreur de PHP juste des erreurs de navigateur.manipulation php code

$file_contents = "<xmp>".file_get_contents("../www.cms.actwebdesigns.co.uk2/pageIncludes/instalation/selectMainPages.php")."</xmp>"; 

if(preg_match_all("#<\?php((?!\?>).)*#is", $file_contents, $matches)) 
{ 
    foreach($matches[0] as $phpCode) 
    { 
     $code = "<xmp>".$phpCode."\n?></xmp>"; 
    } 
} 
echo "dsds"; 
?> 

quelqu'un pourrait me diriger dans la bonne direction?

+3

question baaaaad. Pensez à prendre le temps d'expliquer la cause, l'effet, les erreurs et l'intention. Bêlement. – gahooa

+0

Ce n'est pas le matin ici. – random

+0

pour les 14 derniers mois, j'ai travaillé sur un CMS plug and play (prend 45secs pour installer et votre parti!) Mais je veux monter un noeud en l'installant sur un site Web pré fait php. J'ai donc besoin d'essayer de séparer les données. erreur Cette page Web n'est pas disponible. La page Web à null peut être temporairement arrêtée ou elle peut avoir été déplacée définitivement vers une nouvelle adresse Web. Plus d'informations sur cette erreur Voici le message d'erreur d'origine Erreur 101 (net :: ERR_CONNECTION_RESET): Erreur inconnue. –

Répondre

1

Vous pouvez tokenizer le script PHP en utilisant l'extension Tokenizer:

http://php.net/manual/en/book.tokenizer.php

Les extensions PHP est construit en PHP depuis v4.3.0.

$tokens = token_get_all(file_get_contents($file)); 

http://www.php.net/manual/en/function.token-get-all.php

+0

Vous ne savez pas comment l'utiliser. Met tout le code dans un tableau. Pour que je l'utilise, ne devrais-je pas l'imploser ou quelque chose, puis revenir à la case départ? –

+0

vous pouvez boucler et supprimer tous ceux qui ne sont pas du code PHP. – mauris

0

Je ne sais pas comment l'utiliser. Met tout le code dans un tableau. Pour que je l'utilise, ne devrais-je pas l'imploser ou quelque chose, puis revenir à la case départ?

+0

Ceci est un commentaire sur une réponse ou vous devriez simplement modifier votre question. – random

2

travaillant avec ceci:

$file_contents = token_get_all(file_get_contents("../www.cms.actwebdesigns.co.uk2/logged.php")); 
$start=0; 
$end=0; 
$segmentArray = array(); 
foreach($file_contents as $key => $token) 
{ 
    $tokenName = token_name($key); 
    if($start==0 && $end==0 && $tokenName=="T_OPEN_TAG") 
    { 
     $start=1; 
    } 
    if(start==1 && $end==0 && $tokenName!="T_CLOSE_TAG") 
    { 
     $entryNo = count($segmentArray); 
     $segmentArray[$entryNo][] = $token; 
    } 
    if($tokenName=="T_CLOSE_TAG") 
    { 
     $start=0; 
    } 
} 
+0

c'est génial =) félicitations! – mauris

+0

En cours d'exécution dans un problème. Beaucoup des noms de jetons retournent UNKNOWN. quelqu'un sait pourquoi? –