我见过这个......
preg_match("/.*" . $row['keyword'] . ".*/", $word, $matches);
该模式意味着什么?
答案 0 :(得分:3)
这意味着找到后面或前面有0个或更多字符(*
)的字词,这些字符不是\n
(.
)。
除非在其他地方完成,否则你应该用$row['keyword']
包裹preg_quote($row['keyword'], '/')
。
答案 1 :(得分:3)
说明:
/ # start of the regex
. # match anything (any character, etc - except for /n)
* # zero or more times
" . $row['keyword']. " # match the keyword
.* # same as above
/ # end of the regex
答案 2 :(得分:1)
/
只是模式分隔符,.*
表示"任何字符(换行符除外)重复0次或更多次,"因此,它只是在$row['keyword']
中$word
中搜索{{1}}中所有字符串的出现次数。
答案 3 :(得分:1)
它试图找出$row['keyword']
中是否包含$word
,如果关键字包含preg_quote
这样的元字符,那么将$row['keyword']
调用*
也会更安全1}},/
,\
等