php在解析的doc文件上的空格处拆分字符串

时间:2012-12-10 10:37:45

标签: php string split space

我已将doc文件解析为字符串。

function parseWord($userDoc) 
{
$fileHandle = fopen($userDoc, "r");
$word_text = @fread($fileHandle, filesize($userDoc));
$line = "";
$tam = filesize($userDoc);
$nulos = 0;
$caracteres = 0;
for($i=1536; $i<$tam; $i++)
{
    $line .= $word_text[$i];

    if( $word_text[$i] == 0)
    {
        $nulos++;
    }
    else
    {
        $nulos=0;
        $caracteres++;
    }

    if( $nulos>1996)
    {   
        break;  
    }
}

//echo $caracteres;

$lines = explode(chr(0x0D),$line);
//$outtext = "<pre>";

$outtext = "";
foreach($lines as $thisline)
{
    $tam = strlen($thisline);
    if( !$tam )
    {
        continue;
    }

    $new_line = ""; 
    for($i=0; $i<$tam; $i++)
    {
        $onechar = $thisline[$i];
        if( $onechar > chr(240) )
        {
            continue;
        }

        if( $onechar >= chr(0x20) )
        {
            $caracteres++;
            $new_line .= $onechar;
        }

        if( $onechar == chr(0x14) )
        {
            $new_line .= "</a>";
        }

        if( $onechar == chr(0x07) )
        {
            $new_line .= "\t";
            if( isset($thisline[$i+1]) )
            {
                if( $thisline[$i+1] == chr(0x07) )
                {
                    $new_line .= "\n";
                }
            }
        }
    }
    //troca por hiperlink
    $new_line = str_replace("HYPERLINK" ,"<a href=",$new_line); 
    $new_line = str_replace("\o" ,">",$new_line); 
    $new_line .= "\n";

    //link de imagens
    $new_line = str_replace("INCLUDEPICTURE" ,"<br><img src=",$new_line); 
    $new_line = str_replace("\*" ,"><br>",$new_line); 
    $new_line = str_replace("MERGEFORMATINET" ,"",$new_line); 


    $outtext .= nl2br($new_line);
}

return $outtext;
} 

$text = parseWord($userDoc);

但是现在我需要在每个空格后分​​割我的字符串,因为我想在我的数据库中为搜索机器发布每个单词。有人会帮助我吗?

有没有人可以帮助我?

1 个答案:

答案 0 :(得分:3)

如果你在空格上分开,你会得到标点符号作为每个单词的一部分。 相反,请使用str_word_count() 1 作为第二个参数。 这将返回所有单词的列表,没有任何标点符号