我很难理解这个正则表达式。我想做的是如下:
- 匹配任何以 # 开头的单词。因此,例如,如果代码找到以下标签#jon、#james、#jill,那么它应该隐藏文本。
- 但是,如果代码发现出现以下标记:#ADMINISTRATOR,那么它应该显示文本
- 此外,如果代码没有发现任何带有 # 标记的单词,它也应该显示文本。
本质上,我想隐藏任何用 ADMINISTRATOR 以外的用户名进行哈希标记的评论。
到目前为止,我有以下代码:
if (mb_ereg_match(".*(#[^ADMINISTRATOR]){1,}.*", $comment))
{
$hideComment = true;
}else
{
$hideComment = false;
}
上面的代码在大多数情况下都有效,除非正在搜索的文本包含以下任何一项:
#A, #AD, #ADM, #ADMI, #ADMIN, etc.
那么代码不会隐藏注释,这不是我想要的。我只想与“#ADMINISTRATOR”完全匹配来显示评论。此外,还应显示任何不包含标签的评论。
知道我做错了什么吗?