Tách nhiều từ trong một câu sử dụng array_slice
Chào mọi người, đọc tiêu đề thì hơi khó hiểu vì em không biết phải miêu tả sao cho m.n hiểu nữa , thôi thì m.n xem vd dưới đây nha:
VD: em có một chuỗi: anh đi đâu đó
-
lúc này em cần tách nó ra thành: anh, đi, đâu, đó, anh đi, đi đâu, đâu đó. Mục đích em tách ra như vậy vì muốn dùng nó so với từ điển tiếng Việt để lọc bớt những từ vô nghĩa. đồng thời vừa tách được từ đơn vừa được từ ghép.
<?php $query = 'SELECT * FROM tu '; $result = $db->Query($query); while($row = $result->fetch()) { $comment=$row["Comment_Document"]; // $arr=array(); // cat tung tu mot $arr=explode(" ",$comment); $spaceCount=str_word_count( $comment); // for($i=0; $i<=$spaceCount; $i++) { // cat 2 tu array_push($arr,array_slice(explode(" ",$comment), $i,2)); } //mảng arr hiện tại //Array ( [0] => anh [1] => đi [2] => đâu [3] => đó [4] => Array ( [0] => anh [1] => đi ) [5] => Array ( [0] => đi [1] => đâu ) [6] => Array ( [0] => đâu [1] => đó ) ) foreach($arr as $c){ // chuyen sang chuoi $b= implode(' ',$c); // insert vô một bảng khác $sql="INSERT INTO keywords(Keyword) VALUES ('$b') "; $db->Query($sql ); }
-
Như mọi người thấy khi em cắt 2 từ với nhau thì nó sinh ra một mảng nằm trong mảng lớn, nên khi em chuyển tất cả về chuỗi để insert vô bảng khác thì bị lỗi ở khúc này. em không biết cái ý tưởng cắt từ ghép này của em có thể thực hiện được không nữa, mọi người có ý tưởng nào khác hoặc có thể fix dùm em cái ý tưởng này dc ko ạ, em xin cảm ơn.