我想用正则表达式删除重复的单词
let url = "/courses?category=programming&filter=free&filter=free"
const az = url.replace(/(\b\S.+\b)(?=.*\1)/g, "").trim();
console.log(az) // /courses?category=programmingfree&filter=free
Run Code Online (Sandbox Code Playgroud)
我想要得到/courses?category=programming&filter=free
我希望使用单个查询参数(例如age=gt:40,name=eq:bob)来实现一个简单的过滤器。我想知道是否可以立即检查 GET 请求中是否存在name或?age一个例子可能会澄清我所追求的:
if ('age' or 'name') in request.GET:
Run Code Online (Sandbox Code Playgroud)
仅当使用第一个时才会匹配。当我使用查询参数到达端点时,name它与 true 不匹配。
我知道我可以做这样的事情:
if ('age' in request.GET) or ('name' in request.GET) :
Run Code Online (Sandbox Code Playgroud)
但这可能会很快增长并变得丑陋。
任何人都有最终的PHP函数来添加/删除查询字符串中的参数?它需要处理所有可能的情况,我已经看到了处理某些情况的情况,但不是全部.
一些示例案例:
它理想情况应该是这样的:
function add_get_param($uri, $name, $value = null) { ... }
function remove_get_param($uri, $name) { ... }
Run Code Online (Sandbox Code Playgroud)
一些示例测试:
$var = add_get_param('http://mysite.com?param1=1¶m2=2', 'param3', 3);
// http://mysite.com?param1=1¶m2=2¶m3=3
Run Code Online (Sandbox Code Playgroud)
和:
$var = add_get_param('/dir/page.html?param1=1¶m2=2#jump_to_bottom', 'param3');
// /dir/page.html?param1=1¶m2=2¶m3#jump_to_bottom
Run Code Online (Sandbox Code Playgroud)
等等...
好吧,我写了自己的功能:
PHP:http://pastebin.org/170157 jQuery:http://pastebin.org/169981
我从一个链接中提取数据,http://safalra.com/web-design/javascript/parsing-query-strings/.它在Firefox中运行良好,但Google Chrome不支持此功能.是否有更好的方法或替代程序来提取查询字符串内容?
<script type="text/javascript">
var _url = window.location
alert(_url);
var queryData = parseQueryString(_url.toString());
var p = queryData['http://localhost/new_logic/test.php?a'];
alert(queryData);
var q = queryData['b'];
</script>
Run Code Online (Sandbox Code Playgroud) 我有以下基于引导程序的下拉列表。
<div class="form-group">
<label for="form_name">Title</label>
<select id="hpsel" class="c-form-profession form-control">
<option value="con01">Option 1</option>
<option value="con02">Option 2</option>
<option value="con03">Option 3</option>
<option value="con04">Option 4</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
我想更改查询字符串中的选定值,以便?something=con02打开带有预选 con02 的页面。
我从其他答案中尝试了几种方法,但它们似乎不适用于我的引导下拉菜单。
我想与你们分享我创建的一个函数,看看我如何优化它,或者是否有更好的方法来做到这一点.
sub flatten{
my($ref,$delim,$item_delim,$array,$str) = @_;
die("Required Hash Reference") unless isHash($ref);
$delim = $delim ? $delim :'_';
#dump into array hash vals #simplified
if(!$item_delim){
@{$array} = %{$ref};
}else{
my($keys,$values);
$keys = getKeys($ref);
$values = getValues($ref);
#item strings
if($#$keys > 0 && $#$values > 0){
#fix for issue where value[n] is empty
@{$array}= map{ (defined $$values[ $_ ]) ? $$keys[ $_ ].$item_delim.$$values[ $_ ] : $$keys[ $_ ].$item_delim } 0 .. int($#$keys);
}else{
log "No Values to flatten";
return '';
} …Run Code Online (Sandbox Code Playgroud) 我想在ASP.NET MVC C#下面写一个方法
将使用如下所示的URL调用该方法,但不同的URL将具有不同的参数.例如;
- 网址1: host/myController/myMethod?param1=value1¶m2=value2
- 网址2: host/myController/myMethod?param3=value3¶m4=value4¶m5=value5
我尝试params string[] myParamaters在方法中使用输入,但是当我通过URL调用方法时,myParameters采用null值.
如何为这样的控制器方法定义参数?