2016-11-09 1 views
-1

Je fais une application pour supprimer l'additif ou communément appelé Stripping Stemming stripping. Je voulais faire une boucle pour traiter le bourrage dans chaque fichier texte. processus de stemming je les ai mis dans la boucle. faire le processus le contenu de chaque document aussi je mets dans un fichier texte. quand je cours dans le navigateur aucune erreur, mais seulement la note NULL. Quelle est la solution? Je joins mon programme et results`it du programme est le codeValeur NULL après la compilation du programme dans le navigateur

<?php 
require_once __DIR__ . '/vendor/autoload.php'; 
$array_sentence = glob('../../ujicoba/simpantoken/*.txt'); 
settype($array_sentence, "string"); 
if(is_array($array_sentence) && is_object($array_sentence)) 
{ 
    foreach ($array_sentence as $text) 
    { 
     $textnormalizer = new src\Sastrawi\Stemmer\Filter\TextNormalizer(); 
     $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory(); 
     $stemmer = $stemmerFactory->createStemmer(); 
     $content = file_get_contents($text); 
     $stemmer = $stemmerFactory->createStemmer(); 
     $output = $stemmer->stem(array($content)); 
     echo $output . "\n"; 
    }   
    } 
    var_dump($content); 
    ?> 
    <!DOCTYPE html> 
    <html> 
<head> 
    <title>Confix Stripping Stemmer</title> 
    </head> 
    <body> 
    </body> 
    </html> 

my source coderesult in browser when running programenter code here

+1

Vous devez envoyer le code correspondant et entrée/sortie ici. Comme des textes. – jeroen

+0

c'est le code pertinent que je veux dire – user3718278

Répondre

0

Le code suivant fonctionne pour endiguer:

<?php 
include('stopword.php'); 
$regexRules = array(
     '/^be(.*)lah$/', 
     '/^be(.*)an$/', 
     '/^me(.*)i$/', 
     '/^di(.*)i$/', 
     '/^pe(.*)i$/', 
     '/^ter(.*)i$/', 
     '/^di(.*)kan$/', 
     '/^di(.*)nya$/', 
     '/^di(.*)kannya$/', 
     '/^mem(.*)pe$/', 
     '/^meng(.*)g$/', 
     '/^meng(.*)h$/', 
     '/^meng(.*)q$/', 
     '/^meng(.*)k$/', 
     '/^mem(.*)kan$/', 
     '/^diper(.*)i$/', 
     '/^di(.*)i$/', 
     '/^memper(.*)kan$/', 
     '/^meny(.*)i$/', 
     '/^meny(.*)kan$/', 
     '/^men(.*)kan$/', 
     '/^me(.*)kan$/', 
     '/^meng(.*)nya$/', 
     '/^memper(.*)i$/', 
     '/^men(.*)i$/', 
     '/^meng(.*)i$/', 
     '/^ber(.*)nya$/', 
     '/^ber(.*)an$/', 
     '/^ke(.*)an$/', 
     '/^ke(.*)annya$/', 
     '/^peng(.*)an$/', 
     '/^peny(.*)an$/', 
     '/^per(.*)an$/', 
     '/^pen(.*)an$/', 
     '/^pe(.*)an$/', 
     '/^ber(.*)$/', 
     '/^di(.*)$/', 
     '/^men(.*)$/', 
     '/^meng(.*)$/', 
     '/^meny(.*)$/', 
     '/^mem(.*)$/', 
     '/^pen(.*)$/', 
     '/^peng(.*)$/', 
     '/^ter(.*)$/', 
     '/^mem(.*)$/', 
     '/^(.*)nya$/', 
     '/^(.*)lah$/', 
     '/^(.*)pun$/', 
     '/^(.*)kah$/', 
     '/^(.*)mu$/', 
     '/^(.*)an$/', 
     '/^(.*)kan$/', 
     '/^(.*)i$/', 
     '/^(.*)ku$/', 
); 
global $regexRules; 
$file_string = glob('yourfoldertoseavedata_text/*.txt'); 
$string = array('(.*)'); 
foreach ($file_string as $data) 
{ 
    $string[] = file_get_contents($data); 
    $stemming = str_ireplace($regexRules,"", $string); 
    var_dump($stemming); 
} 
?> 
0

Sur L.4, settype($array_sentence, "string"); la force $array_sentence comme une chaîne, ce qui signifie is_array($array_sentence) && is_object($array_sentence) renvoie false.

+0

ok problème, je me trompe seulement tableau d'écriture. donc je dois supprimer array sur $ output = $ stemmer-> stem (array ($ content)) ;. donc j'écris $ output = $ stemmer-> stem ($ content); – user3718278