Return true/false 如果 URL 中的单词匹配特定单词
Return true/false if word in URL matches specific word
我目前使用:
if(strpos($command->href,§current_view) !== false){
echo '<pre>true</pre>';
} else {
echo '<pre>false</pre>';
}
$command->href
将输出如下内容: /path/index.php?option=com_component&view=orders
而
§current_view
正在输出 orders
。这些输出是动态生成的,但方案将始终相同。
我需要做的是 return true/false 如果来自 $current_view
的词与来自 $command->href
的 URL 中的 view=orders
匹配。我的代码的问题是,它不匹配任何东西。
正确的做法是什么?
请注意 $command->href
和整个代码都在一个 while
函数中,它传递多个 URL,而这只需要匹配相同的 URL。
做类似的事情:
if(substr($command->href, strrpos($command->href, '&') + 6) == $current_view)
完成你的追求?
解释一下,strpos 获取字符串中字符的 last 实例(& 对你来说,因为你说它总是遵循方案)。然后我们移动 6 个字符以从字符串中取出“&view=”。
您现在应该只剩下 "orders" == "orders"。
或者您有时会在视图后添加一些参数吗?
使用您的代码和变量值将其分解为一个简单示例。
$current_view = 'orders';
$command = '/path/index.php?option=com_component&view=orders';
if(strpos($command,$current_view) !== false){
echo '<pre>true</pre>';
}
else {
echo '<pre>false</pre>';
}
输出为 "true"。
现在,去调试 $command->href 和 $current_view...
的真实值
我非常确信这些值不是您认为的。
尝试解析 url,提取您的 view
查询字符串值并将其与 $current_view
进行比较
$query= [];
parse_str(parse_url($command->href)['query'], $query);
if($current_view === $query["view"])
echo '<pre>true</pre>';
} else {
echo '<pre>false</pre>';
}
我目前使用:
if(strpos($command->href,§current_view) !== false){
echo '<pre>true</pre>';
} else {
echo '<pre>false</pre>';
}
$command->href
将输出如下内容: /path/index.php?option=com_component&view=orders
而
§current_view
正在输出 orders
。这些输出是动态生成的,但方案将始终相同。
我需要做的是 return true/false 如果来自 $current_view
的词与来自 $command->href
的 URL 中的 view=orders
匹配。我的代码的问题是,它不匹配任何东西。
正确的做法是什么?
请注意 $command->href
和整个代码都在一个 while
函数中,它传递多个 URL,而这只需要匹配相同的 URL。
做类似的事情:
if(substr($command->href, strrpos($command->href, '&') + 6) == $current_view)
完成你的追求?
解释一下,strpos 获取字符串中字符的 last 实例(& 对你来说,因为你说它总是遵循方案)。然后我们移动 6 个字符以从字符串中取出“&view=”。
您现在应该只剩下 "orders" == "orders"。
或者您有时会在视图后添加一些参数吗?
使用您的代码和变量值将其分解为一个简单示例。
$current_view = 'orders';
$command = '/path/index.php?option=com_component&view=orders';
if(strpos($command,$current_view) !== false){
echo '<pre>true</pre>';
}
else {
echo '<pre>false</pre>';
}
输出为 "true"。
现在,去调试 $command->href 和 $current_view...
的真实值我非常确信这些值不是您认为的。
尝试解析 url,提取您的 view
查询字符串值并将其与 $current_view
$query= [];
parse_str(parse_url($command->href)['query'], $query);
if($current_view === $query["view"])
echo '<pre>true</pre>';
} else {
echo '<pre>false</pre>';
}