原帖由 jiuhecai 于 2017-06-02 18:42:32 发表 感谢分享,也可以这样:
function beautifyUrl($allstr){
preg_match_all ('/<a href=\"(.*?)\&quo... |
稍微优化一下.
function beautifyUrl($allstr){ preg_match_all('/<a href=\"(.*?)\".*?>(.*?)<\/a>/i', $allstr, $matches); foreach($matches[1] as $url){ $parts = parse_url($url); parse_str($parts['query'], $query); // 对查询参数进行 URL 解码 foreach ($query as $key => $value) { $query[$key] = urldecode($value); } // 过滤空查询参数 $query = array_filter($query, function($value) { return !is_null($value) && $value !== ''; }); $newurl = $parts['path'].'?'.http_build_query($query); $allstr = str_replace('href="'.$url.'"', 'href="'.$newurl.'"', $allstr); } return $allstr; }
|