$list[$idx][$i]['href'] 상태
https://homzzang.com/bbs/board.php?bo_table=free&wr_id=312
$list[$idx][$i]['href'] = preg_replace( "/\/bbs\/board\.php\?bo_table=/" , '/', $list[$idx][$i]['href'] ); 상태
https://homzzang.com/free&wr_id=312
$list[$idx][$i]['href'] = preg_replace( "/\&wr_id=/" , '/', $list[$idx][$i]['href'] ); 상태
https://homzzang.com/free&wr_id=312
저 갈색 코드가 이상한지 아래처럼 표현이 안 되는데,
https://homzzang.com/free/312 처럼 표현하려면 ?
답변 3개 / 댓글 5개
url은 정규표현식보다 파싱함수를 쓰는 것이 더 정확하고 편리합니다.
$url = 'https://homzzang.com/bbs/board.php?bo_table=free&wr_id=312';
$array = parse_url($url);
parse_str($array['query'], $param);
echo "{$array['scheme']}://{$array['host']}/{$param['bo_table']}/{$param['wr_id']}";
// https://homzzang.com/free/312
답변에 대한 댓글 1개
오옹 파싱하시남유!! arrey 결과값을 보면서 하나씩 해야 ㅠ_ㅠ 크흡 고통임
답변에 대한 댓글 1개
preg_replace('/\&wr_id\=/', '/', $list[$idx][$i]['href']);
답변에 대한 댓글 3개
$list[$idx][$i]['href'] = preg_replace('/\&wr_id\=/', '/', $list[$idx][$i]['href']);
5.6 7.2에서 둘다 테스트 해봤습니다만..
다른 곳에 원인이 있는게 아닌가 싶습니다
답변을 작성하려면 로그인이 필요합니다.
PS.
php7.2.10에선 아래처럼 해야 출력이 되네요.
$array = parse_url($list[$idx][$i]['href']);
//print_r2($array);
$param = array();
parse_str($array['query'], $param);
//print_r2($param);
$list[$idx][$i]['href'] = "{$array['scheme']}://{$array['host']}/{$param['bo_table']}/{$param['amp;wr_id']}";
// https://homzzang.com/free/312