1楼纳什从源码中找超链接。
楼主说从字符串中找url,这个真的是不好实现。开头可以凭">
需要根据URL地址获取加载到图中Anroid机器人所在的位置,这是运行前的效果
首先需根据URL地址获取,如下所示,urladdr即为地址,返回Drawable对象:
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
// TODO Auto-generated method stub
Drawable drawable = null;
try{
//judge if has picture locate or not according to filename
drawable = DrawablecreateFromStream(new URL(urladdr)openStream(), "imagejpg");
}catch(IOException e){
Logd("test",egetMessage());
}
if(drawable == null){
Logd("test","null drawable");
}else
Logd("test","not null drawable");
}
return drawable;
}
获取到后,需要更新主线程UI资源,考虑到时间以及界面反应延迟等,所以采用线程加以处理,如下图所示:
// image
new Thread(new Runnable(){
Drawable drawable = loadImageFromNetwork(urladdress);
@Override
public void run(){
//post() is quite important,update pictures in UI main thread
imagepost(new Runnable(){
@Override
public void run(){
//TODO Auto-generated method stub
imagesetImageDrawable(drawable);
}
});
}
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
// 略(如 1 中所示)
}
})start(); //线程启动
4说明:在上述示例代码中,image是ImageView类的一个对象,也就是APP中的一个显示图像组件,利用获取到的drawable去更新image,
用js 的方法获取:代码如下
设置或获取对象指定的文件名或路径。
alert(windowlocationpathname)
设置或获取整个 URL 为字符串。
alert(windowlocationhref);
设置或获取与 URL 关联的端口号码。
alert(windowlocationport)
设置或获取 URL 的协议部分。
alert(windowlocationprotocol)
设置或获取 href 属性中在井号“#”后面的分段。
alert(windowlocationhash)
设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(windowlocationhost)
设置或获取 href 属性中跟在问号后面的部分。
alert(windowlocationsearch)
获取变量的值(截取等号后面的部分)
var url = windowlocationsearch;
// alert(urllength);
// alert(urllastIndexOf('='));
var loc = urlsubstring(urllastIndexOf('=')+1, urllength);
其实比较简单,分享一段我之前写的js提取URL参数的函数吧
function UrlParamHash(url) {var params = [], h;
var hash = urlslice(urlindexOf("") + 1)split('&');
for (var i = 0; i < hashlength; i++) {
h = hash[i]split("=");
paramspush(h[0]);
params[h[0]] = h[1];
}
return params;
}
// 如下使用, b就是你的URL字符串
var params = UrlParamHash(b),
id = params['id'];
不过写完发现你的URL不是很标准,因为一般地址和参数直接是用""分割的,如果你的不是的话
你可以把函数里indexOf("")根据你的域名换成indexOf("com/")之类的
也可以根据你具体的URL规则修改整个函数,反正原理就在这里
知识先填坑:
假设访问路径为:file:///Users/xiao/learn/js_basics/11htmla=100&b=20&c=30;
分别通过正则匹配、拆分字符串成数组、新API URLSearchParams三种方式获取参数方法如下:
思路:
两次用到split方法,第一次将每个参数和值拆分为数组中的一个值;
遍历这个数组,每个参数和值再次分割,分别将参数和值赋值给一个对象的属性和值;
调用方法通过对象的属性,获取改值
以上就是关于在php中怎样用正则表达式从一个字符串中提取url地址全部的内容,包括:在php中怎样用正则表达式从一个字符串中提取url地址、c#用正则表达式取出下面字符串中的所有Url的值用正则表达式取出字符串中其中一个Url中的genreld。在线等、如何解析从Android的一个字符串的URL等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)