PHP-preg_match():在字符串中搜索多个unicode字符(不是重复的,而是实际读取的)

PHP-preg_match():在字符串中搜索多个unicode字符(不是重复的,而是实际读取的),php,filter,unicode,preg-match,spam,Php,Filter,Unicode,Preg Match,Spam,只需要一种非常简单的方法来检查textarea字符串中由管道分隔的变量中的所有字符或Sting 更新:是的,它不必在管道中,这就是我在数据库中存储不同字符的方式。它所需要的只是一个坚实的例子,说明如何检查文本中你需要的内容。目前,我有一长串strpos()语句,我想它们可以从数组中循环,但似乎没有人想出一种方法来检查bot可以放入消息表单中的任何内容,至少我没有发现:( 美元符号是一种特殊字符,您必须对其进行转义\$啊,谢谢。对于函数中的变量,您的意思是?preg\u match("/\$spa

只需要一种非常简单的方法来检查textarea字符串中由管道分隔的变量中的所有字符或Sting

更新:是的,它不必在管道中,这就是我在数据库中存储不同字符的方式。它所需要的只是一个坚实的例子,说明如何检查文本中你需要的内容。目前,我有一长串strpos()语句,我想它们可以从数组中循环,但似乎没有人想出一种方法来检查bot可以放入消息表单中的任何内容,至少我没有发现:(


美元符号是一种特殊字符,您必须对其进行转义
\$
啊,谢谢。对于函数中的变量,您的意思是?preg\u match("/\$spamChars….像这样吗?我的意思是在这一部分中,
$spamChars='href | http |#| | | | | | 230; | |您好。再见。
您正在使用一个替代项来匹配列出的替代项之一,但其中一个替代项是断言字符串结尾的
$
。如果您想匹配一美元符号,您必须使用将其与字面上的匹配。
  $spmChk = 'clean';

  $textarea = 'This i$ some text for the textªrea';
  
  // needs to be abe to process any characters
  $spamChars = 'href|http|#|¥|²|æ|é|Hello. And Bye.|£|$|ˆ|ª';

  // my attempt
  // search textarea for spam characters
  if (preg_match("/$spamChars/u", $textarea)) {
     
      $spmChk = 'you got spam :)';
  }

  echo $spmChk;