0

私はこのようなコードを持っています:

(このリンクを開いてください)

    <?php
function stop_words($dok){
        $dokumen_trim = trim($dok);
        $dokumen_trim = strtolower($dokumen_trim);
        $hilangg = array("yang","di","dan","itu","dengan","untuk","tidak","ini","dari","dalam","akan","pada","juga","saya","ke","karena","tersebut","bisa","ada","mereka","lebih","sudah","atau","saat","oleh");
            $dokumen_trim = str_replace("/\b".$hilangg."\b/i", "", $dokumen_trim);

    return $dokumen_trim;
}
?>

しかし、うまくいきません..私を助けてください

4

1 に答える 1

0

さて、まず正規表現 ( \b) を使用していますが、使用str_replaceすべき場所を置き換えるために使用しますpreg_replace

第二に、そこに配列を貼り付けることはできません。正規表現グループを作成する必要があります:

第三に、何も置き換えていません。これには、単語の境界も含まれます (は(ドット/スペースなしで)I am yang.に変わります。I am

<?php
    function stop_words($dok){
        $dokumen_trim = trim($dok);
        $dokumen_trim = strtolower($dokumen_trim);
        $hilangg = array("yang","di","dan","itu","dengan","untuk","tidak","ini","dari","dalam","akan","pada","juga","saya","ke","karena","tersebut","bisa","ada","mereka","lebih","sudah","atau","saat","oleh");

        $regex = "/(\b)" . implode('|', array_map('preg_quote', $hilangg, '/')) . "(\b)/i";

        $dokumen_trim = preg_replace($regex, "$1$2", $dokumen_trim);

        return $dokumen_trim;
    }
?>
于 2013-10-09T13:30:45.470 に答える