我制作了body {
margin: 0;
font-family: 'Lato', sans-serif;
}
.overlay {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0, 0.9);
overflow-x: hidden;
transition: 0.5s;
}
.overlay-content {
position: relative;
top: 25%;
width: 100%;
text-align: center;
margin-top: 30px;
}
.overlay a {
padding: 8px;
text-decoration: none;
font-size: 36px;
color: #818181;
display: block;
transition: 0.3s;
}
.overlay a:hover, .overlay a:focus {
color: #f1f1f1;
}
.overlay .closebtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
}
@media screen and (max-height: 450px) {
.overlay a {font-size: 20px}
.overlay .closebtn {
font-size: 40px;
top: 15px;
right: 35px;
}
}
来捕捉“坏词”。并用***替换,所以如果找到坏词,我可以返回给用户,可以在这里找到简化版本:
<!DOCTYPE html>
<html>
<head>
<style>
</style>
</head>
<body>
<div id="myNav" class="overlay">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<div class="overlay-content">
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
</div>
<h2>Fullscreen Overlay Nav Example</h2>
<p>Click on the element below to open the fullscreen overlay navigation menu.</p>
<p>In this example, the navigation menu will slide in, from left to right:</p>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">☰ open</span>
<script>
</script>
</body>
</html>
我还要在同一个正则表达式中要求最少25个字符,而不是必须在其上运行两个单独的传递(例如1)坏词2)足够的字符?)是可能的吗?我基本上需要添加一些&#34;少于25个字符&#34;管。
答案 0 :(得分:1)
正则表达式最小值为{min,max}所以{1,15}最小值为1个字符,最多为15个。
我会做一个“坏词”列表,然后说必须存在至少1个
就正则表达式限制而言/^[word]{1,15}$/
- 必须为1 - &gt;发现15“字”
查看此帖Profanity Filter using a Regular Expression (list of 100 words)
答案 1 :(得分:1)
如果您打算替换列表中的任何坏词以及短于25个字符的整个字符串,请使用
$s = preg_replace('~^.{0,24}$|\b(?:badWord1|badWordN)\b~i', 'CENSURED', $s);
请参阅regex demo。
<强>详情
^.{0,24}$
- 第一个替代|
- 或\b(?:badWord1|badWordN)\b
- 第二种选择:
\b
- 领先的字边界(?:
- 开始交替非捕获组badWord1
- 坏词#1 |
- 或badWordN
- 坏词N )
- 小组结尾\b
- 一个尾随字边界。如果您打算匹配任何长度超过24个字符且没有错误字符的字符串,请使用
'/^(?!.*\bbadword\b).{25,}$/s'
它将匹配一个至少包含25个字符但不包含badword
字符串的字符串。
查看regex demo。
<强>详情
^
- 字符串开头(?!.*\bbadword\b)
- 如果在任何0+字符之后有一个完整的单词badword
.{25,}
- 任何25个或更多字符&#39; $
- 字符串结束。答案 2 :(得分:0)
最后我创建了我自己的版本,因为我想要做的只是捕获匹配,如果有一个“坏词”或者如果少于X.
^(?i)(?P<Words>\bBadWord1|BadWordN\b)|(?P<Characters>^.{0,25}$)$
可以测试here
这符合我的目的
Words
,因此我可以返回该警报。