这是我的代码
<div style="display:inline-block; ">
<?php $a = strtolower($criteria); if (strpos($a, 'fits models from: 11/2000') !== false) {
echo 'Fits models from 2000,'; } ?> </div>
我的白色空间有问题。 如果我只使用'拟合模型'或者我使用'11 / 2000',它会找到字符串,但不是两者结合使用。我需要他们合并,否则它是无用的。
编辑: 我做不到这样的事情:
<?php $a = strtolower($criteria);
if (strpos($a, 'fits models from') !== false)
if (strpos($a, '11/2000') !== false) {
echo 'Fits models from 2000,'; } ?> </div>
因为我想用它来分隔文本中的关键因素,即汽车模型,从其余部分输出该信息。 如果$ criteria表示'适合11/2000的模型,但只适合模型直到06/2002'那么它将输出'拟合模型从2000','拟合模型直到2000','适合模型从2002','适合模型直到2002' 。
答案 0 :(得分:0)
识别未知角色:
示例字符串:"a:\xe2\x80\x85b"
,看起来像a: b
但空格较小。
$str = "a:\xe2\x80\x85b"; // I wrote \xe2\x80\x85 only to set $str and to show a working code,
// but here I don't know what are the values of these bytes
preg_match('~:(.*?)b~us', $str, $m); // shortest substring between : and b
echo implode(' ', array_map(function ($b) { return dechex(ord($b)); }, str_split($m[1])));
// e2 80 85
我获得3个字节e2
80
85
,然后我搜索它是否代表unicode table中的一个或多个字符,我发现:U+2005 e2 80 85 FOUR-PER-EM SPACE
结论:未知字符是FOUR-PER-EM SPACE
(unicode点:U + 2005),需要以UTF-8编码3个字节e2 80 85
。所以我可以用双引号字符串写"\xe2\x80\x85"
。