其实我是学生和初学者 我正在制作一个在线愿望网页作为测试项目我想在html中显示发件人的名字 我已成功完成,但我想获取URL字符串参数文本 我怎么能这样做
我的网站地址模式就像 www.subdomain.domain.tld /页/ 2 N =(sender_encoded_name)
所以我想从URL的n参数中获取数据并对其进行解码。
我在网上搜索了很多这个并且感到困惑 所以请帮我解决实际的方法
我尝试使用此代码,
var reqParam = URLDecoder.decode(reqParam, "UTF-8")
但我有点困惑请尽可能帮助我......
答案 0 :(得分:0)
您可以尝试获取查询参数值 -
var urlObj = new URL("http://www.subdomain.domain.tld/page/?n=a%20b%20c&m=a%20b%20c%20d");
var params = urlObj.searchParams;
params.get('n');
params.get('m');
答案 1 :(得分:0)
在Java中,您可以使用模式匹配和正则表达式从URL字符串(或任何字符串)中收集所需的数据:
String urlString = "www.subdomain.domain.tld/page/?n=(sender_encoded_name)";
List<String> list = new ArrayList<>();
String regexString = "\\Q?n=(\\E(?s)(.*?)\\Q)\\E";
Pattern pattern = Pattern.compile("(?iu)" + regexString);
Matcher matcher = pattern.matcher(urlString);
while (matcher.find()) {
String match = matcher.group(1).trim();
list.add(match);
}
// Display all items found matching the supplied pattern
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
控制台输出将是:
sender_encoded_name
将其放入您可能拥有的方法中:
public List<String> getEncodedName(String urlString) {
List<String> list = new ArrayList<>();
String regexString = "\\Q?n=(\\E(?s)(.*?)\\Q)\\E";
Pattern pattern = Pattern.compile("(?iu)" + regexString);
Matcher matcher = pattern.matcher(urlString);
while (matcher.find()) {
String match = matcher.group(1).trim();
list.add(match);
}
return list;
}
使用它:
String urlString = "www.subdomain.domain.tld/page/?n=(sender_encoded_name)";
List<String> list = getEncodedName(urlString);
// Display all items found matching the supplied pattern
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
控制台输出将是:
sender_encoded_name
正则表达式说明:
答案 2 :(得分:-1)
我想,你会发现这个页面很有趣:
https://api.jquery.com/jquery.get/
可能可以帮助您使用PHP的示例:
echo 'Hello ' . htmlspecialchars($_GET['name' ]) . '!';
想象一下,您的网址为http://example.com/?name=Andrew
然后,您会看到类似:Hello Andrew!