在perl中匹配部分单词的正确方法是什么?例如,我要匹配“ CentOS”,以便匹配CentOS 6,CentOS 7和CentOS 8之类的结果。
我知道如何在bash中执行此操作,如下所示:
if [[ "$os" == *"CentOS"* ]]; then
echo $centosversion
else
echo $differentos
fi
Run Code Online (Sandbox Code Playgroud)
在上面的bash示例中,它将找到带有“ CentOS”的任何结果。
如何使用下面的perl代码实现此目标?
if ($os eq "CentOS") {
print "$centosversion";
} else {
print "$differentos";
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用:
($os eq *"CentOS"*)
Run Code Online (Sandbox Code Playgroud)
和
(($os eq *"CentOS"*))
Run Code Online (Sandbox Code Playgroud)
但这似乎是不正确的?
也许我完全错了,但是我对perl不太了解。我希望有人可以指出正确的方向。
对不起令人困惑的标题,我不知道如何更好地描述它.
无论如何,这是我目前用于我的网站Cufon的'问题'.哪个效果很好.但是,对于Internet Explorer 8,它变得非常慢.因此我决定使用:
<![if !(IE 8)]>
<script type="text/javascript" src="js/myriad-pro.cufonfonts.js"></script>
<script type="text/javascript">Cufon.replace('.example1') ('.example2') ('.example3') ('.example4') ('.example5');
</script>
<![endif]>
Run Code Online (Sandbox Code Playgroud)
这很好用,但不是一切.脚本的某些部分,在脚本本身调用Cufon,它不起作用,Cufon仍然会在IE8中显示(带有所有负面结果).
包含的几个脚本/部件中包含以下代码:
<?php
echo "<script language=\"javascript\" type=\"text/javascript\">";
echo "$(document).ready(function() { Cufon.replace('.orderpart1') ('.orderpart2') ('.orderpart3'); });";
echo "</script>";
?>
Run Code Online (Sandbox Code Playgroud)
现在可以在PHP脚本中创建相同的语句吗?因此,如果它是IE8以外的任何浏览器,它将加载Cufon,但如果它是IE8它将不会加载Cufon?
希望有人理解我在这里的意思,因为有点难以为我解释...... :(
我正在使用一个名为Advanced Poll的脚本,它运行良好.但是我有一个小的"化妆品"问题,我无法解决.
民意调查位于我网站的右下方.但是在有人提交了他或她的投票后,你会被推回到页面顶部,而不是专注于民意调查(右下角).
通常使用普通的html,您可以通过添加锚点和链接轻松解决这个问题,但是因为这是形式,我不明白如何正确地做到这一点.因此,在提交投票后,它会在投票部分重新加载页面,而不是再次向下滚动.
我自己试着用HTML搞砸了,但没有运气.它从网站的顶部开始,而不是留在民意调查区域.
我在民意调查部分上方添加了以下代码:
<a name="backtopoll"></a>
Run Code Online (Sandbox Code Playgroud)
我补充说:
#backtopoll
Run Code Online (Sandbox Code Playgroud)
至:
<a href="$this->form_forward?action=results&poll_ident=$poll_id" class="link link-indent fright">$pollvars[result_text]</a>
Run Code Online (Sandbox Code Playgroud)
结果如下:
<a href="$this->form_forward?action=results&poll_ident=$poll_id#backtopoll" class="link link-indent fright">$pollvars[result_text]</a>
Run Code Online (Sandbox Code Playgroud)
但那没用.一旦我点击提交投票,我的投票就会被投票,我发现自己又回到了网站的顶部,而不是在民意调查部分重新加载页面.:(
我在这做错了什么......?
//更新
添加/更改为:
<a id="backtopoll"></a>
Run Code Online (Sandbox Code Playgroud)
正如诗巫所说,没有奏效.
// anotherupdate
也许我可以在页面上使用jQuery或JS做同样的事情?
我不知道这是否可行,我已经尝试寻找解决方案,但是根本没有运气.
我正在尝试使用动画gif(loader-bar.gif)的整页加载屏幕,而背景稍微透明(或模糊).我想这可以用jQuery,但我真的不明白如何实现这一点?
我自己已经尝试了几件事,但总会导致相同或类似的问题; 或者动画gif在页面加载时没有显示动画和/或加载页面没有覆盖整个区域,特别是当显示额外的内容时(即使是高度:100%;唯一的'修复'对此是通过使用高度:300%;但这当然没有解决方案).
所以我决定重做全屏/窗口加载器页面,可能jQuery可以正确完成这项工作,对吧?
我想替换下面示例中的[space] - [space]部分
This - is - an - example - message
Run Code Online (Sandbox Code Playgroud)
(包括减号前后的空格)
同
<div class="withthiscss">xx</div>
Run Code Online (Sandbox Code Playgroud)
HTML是:
<p class="product-title" id="fixthistitle">This - is - an - example - message</p>
Run Code Online (Sandbox Code Playgroud)
我只想更改ID包含'fixthistitle'的ID.
所以最终的结果是:
<p class="product-title" id="fixthistitle">This<div class="withthiscss">xx</div>is<div class="withthiscss">xx</div>an<div class="withthiscss">xx</div>example<div class="withthiscss">xx</div>message</p>
Run Code Online (Sandbox Code Playgroud)
通常情况下,只需简单地更改HTML中的HTML即可获得所需的格式,但这是预生成的文本,因此我无法更改.因此我需要一个JS/jQuery解决方案吗?
也许有人可以分享如何实现这一目标?我希望这对某人有意义.
编辑:
对不起我的坏,ID应该永远是唯一的.
无论如何; 非常感谢您的答案/解决方案.非常感谢!