我该如何区分大小写和不区分大小写? 该字符串一次包含多个单词。
$allowed = array('hello', 'test');
if(in_array($data, $allowed)) {
//Do something
}
else {
//Replace / Return false
}
答案 0 :(得分:1)
我可以通过向您展示如何保持单词边界单词,从字符串中删除其他所有内容来部分回答:
<?php
$input = 'hotdogs are food, not actual HOT dogs. The latter being dog animals that are hot.';
$words =
[
'hot',
'dog'
];
$regex = '@\b(' . implode($words, '|') . ')\b@i';
$output = '';
if(preg_match_all($regex, $input, $matches))
$output = implode($matches[0]);
print $output;
输出:
HOTdoghot
答案 1 :(得分:0)
在比较之前要检查两种情况是否都大写或小写
$allowed = array('hello', 'test');
// Map every array element to be lowercase string
$lowercaseAllowed = array_map('strtolower', $allowed);
// Check if lower case version of data is in accepted lowercase array
if(in_array( strtolower($data), $lowercaseAllowed ) ) {
//Do something
} else {
return false;
}
答案 2 :(得分:0)
以问题中的示例为例,并假设$ data是仅包含一个单词的字符串,则只需strtolower($ data)
如
if(in_array(strtolower($data), $allowed)) {