Php 检查数组文件txt中字符串中的坏字 $badwords=array('Hello'=>1,'aa'=>1,'vv'=>1); $string=“你好”; $words=explode(“”,$string); foreach($words作为$word){ $word=preg_替换('/[^A-Za-z0-9]*/','','$word); if(设置($baddwords[$word])){ echo(“找到$word”; }否则{ 回声(“ok$word”; } }

Php 检查数组文件txt中字符串中的坏字 $badwords=array('Hello'=>1,'aa'=>1,'vv'=>1); $string=“你好”; $words=explode(“”,$string); foreach($words作为$word){ $word=preg_替换('/[^A-Za-z0-9]*/','','$word); if(设置($baddwords[$word])){ echo(“找到$word”; }否则{ 回声(“ok$word”; } },php,arrays,Php,Arrays,我试图从txt文件中获取单词,并将所有单词放入数组中进行检查,但我无法。。。 你能帮助我吗?谢谢 问:我想从txt文件中检查字符串中的单词…您这样使用trim $badwords = array('Hello' => 1, 'aa' => 1, 'vv' => 1); $string = "Hello how are you"; $words = explode(' ', $string); foreach($words as $word) { $wor

我试图从txt文件中获取单词,并将所有单词放入数组中进行检查,但我无法。。。 你能帮助我吗?谢谢


问:我想从txt文件中检查字符串中的单词…

您这样使用trim

$badwords = array('Hello' => 1, 'aa' => 1, 'vv' => 1);  

$string = "Hello how are you";

$words = explode(' ', $string);
foreach($words as $word) {
        $word = preg_replace('/[^A-Za-z0-9]*/', '', $word);
        if (isset($badwords[$word])) {
            echo("Found $word<br>");
        }else{
            echo("ok $word<br>");
        }
}
输出:

<?php
$badwords = array('Hello' => 1, 'aa' => 1, 'vv' => 1);

$string = "Hello, how are you";

$words = explode(' ', $string);
foreach($words as $word) {
    $word = trim($word, " ,.!?");
    if (isset($badwords[$word])) {
        echo("Found $word<br>");
        echo "\n";
    }else{
        echo("ok $word<br>");
        echo "\n";
    }
}
Hello
aa
vv
ei@localhost:~$php test.php
找到Hello
好的,怎么办 好的,你是
好的,你
我试图从txt文件中获取单词,并将所有单词放入数组中,然后检查 我不能。。。你能帮我吗

要将txt文件读取到
数组
中,请使用:


你到底想做什么?我想转换数组中包含坏字的txt,然后检查字符串中是否存在。你能写所有代码吗?。。。我试过了,但没用。不,我们这里不写“所有代码”。@NoeNazza为什么你省略了修剪代码我的问题是另一个,帮帮我。我想把包含坏单词的txt文件转换成数组@NoeNazza我想你用aaa.txt的方式在我的答案中选择了一个坏词,检查一下。
ei@localhost:~$ php test.php
Found Hello<br>
ok how<br>
ok are<br>
ok you<br>
<?php
$badwords = file("aaa.txt", FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$badwords = array_flip($badwords);

$string = "Hello how are you";

$words = explode(' ', $string);
    foreach($words as $word) {
    if (isset($badwords[$word])) {
        echo("Found $word<br>");
        echo "\n";
    }else{
        echo("ok $word<br>");
        echo "\n";
    }
}
Hello
aa
vv
ei@localhost:~$ php test.php
Found Hello<br>
ok how<br>
ok are<br>
ok you<br>
$lines = file('/path/to/file.txt');
// $lines is an array and contains all lines of the txt file, loop it:
foreach($lines as $line)
{
  $words = explode(' ', $line);
  foreach($words as $word)
  {
     // implement your logic here
  }
}