php 怎样获取文本内容中的图片和文件路径?

<%FunctiongFile_Url(str)'获取含有Html代码的文本内容中所有文件,去掉ahref标签Dimn,m,a,i,t'转换为/UpFile/Upload... <%
Function gFile_Url(str) '获取含有Html代码的文本内容中所有文件,去掉 a href 标签
Dim n,m,a,i,t '转换为/UpFile/Upload/abc.doc$||||$/UpFile/Upload/abc.xls 型式
a=""
str = Is_Null(str) '防止为空 补值 str = ""
Set n = New RegExp
n.Ignorecase = True
n.Global = True
n.Pattern = "<a[^>]+href=""([^"">]+)""[^>]*>"
Set m = n.Execute(str)
IF n.test(str) Then
For i = 0 to m.Count-1
IF i>0 Then t = "$||||$" Else t = ""
a = a & t & m(i).SubMatches(0)
Next
End IF
Set m=Nothing
Set n=Nothing
gFile_Url=a
End Function

Function gPic_Url(str) '获取含有Html代码的文本内容中所有图片,去掉 img 标签
Dim n,m,a,i,s,t '转换为 /UpFile/Upload/abc.jpg$||||$/UpFile/Upload/abc.gif 型式
a = ""
str = Is_Null(str) '防止为空 补值 str = ""
Set n =New RegExp
n.IgnoreCase = True
n.Global = True
n.Pattern = "<img[^>]*src\s*=\s*['""]?([\w/\-\:.]*)['""]?[^>]*>"
If n.test(str) Then
Set s = n.Execute(str) '执行搜索
i=0
For Each m in s '遍历匹配集合
IF i>0 Then t = "$||||$" Else t = ""
a = a & t & m.SubMatches(0) '只取src
i=i+1
Next
gPic_Url = a
End If
End Function
%>
怎样将这两个函数转换成 php 脚本。谢谢!
展开
 我来答
183525594
2015-02-26 · TA获得超过2922个赞
知道大有可为答主
回答量:3664
采纳率:58%
帮助的人:2063万
展开全部
$str = '<img src="http://localhost/2.jpg" alt="" /> <img src="http://localhost/2.jpg" alt="" /> <img src="http://localhost/2.jpg" alt="" />  <a href="http://www.baidu,com/">aaa</a>';
    $str = strip_tags($str, '<img>');
    preg_match_all('/\<img\s+src\=\"([\w:\/\.]+)\"/', $str, $matches);
    //var_dump($matches[1]);
    $match = $matches[1];
    foreach ($match as $value) {
        echo $value."<br>";
    }
htr1236544
推荐于2016-09-17 · TA获得超过889个赞
知道小有建树答主
回答量:104
采纳率:50%
帮助的人:65.2万
展开全部
需要用正则表达式来解析,例子:
<?php
$str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>';
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$str,$match);
print_r($match);
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ouyangqunli101
推荐于2017-12-16 · TA获得超过667个赞
知道小有建树答主
回答量:421
采纳率:100%
帮助的人:190万
展开全部

直接用php正则写更好,就不用转这个了。例子:

<?php
$str = file_get_contents("http://www.27.cn/kutu/2475/1613221.html");
var_dump(gPic_Url($str));

//提取URL
function gFile_Url($content){
preg_match_all("'<\s*a\s.*?href\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)</a>'isx",$content,$links); 
while(list($key,$val) = each($links[2])) { 
if(!empty($val)) 
$match[] = $val; 

while(list($key,$val) = each($links[3])) { 
if(!empty($val)) 
$match[] = $val; 

return $match; 
}
//提取图片
function gPic_Url($content){
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";//正则
preg_match_all($pattern,$content,$match);//匹配图片
return $match[1];//返回所有图片的路径
}
?>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式