2016-11-09 1 views
-1

Ich mache eine Anwendung, um additiv zu entfernen oder allgemein Stemming confix Stripping genannt. Ich wollte eine Schleife machen, um Stemming in jeder Textdatei zu verarbeiten. Prozess stemming Ich habe sie in die Schleife gesetzt. den Prozess zum Inhalt jedes Dokuments machend, gebe ich auch eine Textdatei ein. wenn ich im Browser starte kein Fehler sondern nur die Note NULL. Was ist die Lösung? Ich lege mein Programm und Programm results`it ist CodeWert NULL nach Programm kompilieren im Browser

<?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

Sie sollten den entsprechenden Code und Eingabe/Ausgabe hier posten. Als Texte. – jeroen

+0

es ist relevant code ich meine – user3718278

Antwort

0

Der folgende Code funktioniert bei ergeben:

<?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

Auf L.4, settype($array_sentence, "string"); Kraft $array_sentence als String, was bedeutet, is_array($array_sentence) && is_object($array_sentence) falsch zurück.

+0

ok problem beheben, ich nur fehler write array. also muss ich Array auf $ output = $ stemmer-> stem (array ($ content)); entfernen. Also schreibe ich $ output = $ stemmer-> stem ($ content); – user3718278

Verwandte Themen