У меня возникла следующая проблема с моим кодом. Идея заключается в том, чтобы скопировать текст в текстовую область и $ _POST проверить содержимое с помощью CSV, чтобы увидеть, совпадает ли одно из слов (я использую один столбец и использую A1, A2, A3, A4 и т. Д. c, где каждое слово в списке). Если слово в Excel содержит пробел, оно не соответствует целому слову, например, «Сад» дает мне «То», а не то, что я ищу. Мне нужен код, чтобы проверить каждое слово, которое было опубликовано с помощью текстовой области, имеет ли оно два слова в строке или одно. Мне удалось заставить его проверить два слова и одно слово, но я обнаружил, что если я введу абзац данных в текстовую область, он просто не даст результатов.
Любая помощь очень ценится!
A1 - Дом
А2 - Сад
А3 - Мышь
Но код только подхватывает;
А1 - Дом
А2 -
А3 - Мышь
$target_path='words.csv';
$s=0;
$f=0;
$marray='';
$bg='';
$text = $_POST['tacontents'];
$exp=preg_split('/(\s+)/', $text);
if(($csvFile = fopen($target_path,'r')) !== false ){
// $i=0;
$data = array();
$bg = array();
while (($data = fgetcsv($csvFile)) !== false){
if(trim($data[0]) !=''){
$bg[]=$data[0];
// $word=$data[0];
/*if (strpos($text, $word) !== false) {
$marray[]=$word;
}*/
//$i++;
}
}
fclose($csvFile);
$c = array_uintersect($exp, $bg,"strcasecmp");
//var_dump($bg);
// ECHO OUT NUMBER OF MATCHES
$sizeo=sizeof($c); // 9
$marray=array_unique($c);
echo '<strong>Word Found: '.$sizeo.'</strong>';
echo '<ul>';
foreach($marray as $mt){
echo '<li>'.$mt.'</li>';
}
echo '</ul>';
?>