求教php正则高手。php正则获取html内容中的所有CSS路径及名称,替换CSS的路径

例如html 代码中包含<link href="/default/css/css.css" rel="stylesheet" type="text/css">
正则获取/default/asd/css.css
正则获取css.css
正则替换/default/asd/css.css为/style/css/css.css

第1个回答  2016-05-07

#href="([^"]*?([^"/]+\.css))"#i     

其中 $1 为 /default/css/css.css

$2 为 css.css

$a = '<link href="/default/css/css.css" rel="stylesheet" type="text/css">';
$b = preg_replace('#href="([^"]*?([^"/]+\.css))#i', 'href="/style/css/$2', $a);
$b  // <link href="/style/css/css.css" rel="stylesheet" type="text/css">

追问

测试不出来啊

本回答被提问者和网友采纳
第2个回答  2016-05-07
用xml啊,正则数据大了非常慢的
相似回答