안녕하세요? php 문자열 질문드립니다.
본문
문자열
예를들어서 아래와같이
$string_str = 'https://test.com/images/h_l?url=test111111.jpg&p=2&p=3';
이런식으로 데이터가있을때 저 문자열에서 .jpg , .png , jpeg 확장자가 붙은걸 맨뒤로 빼고
$string_str = 'https://test.com/images/h_l?p=2&p=3&url=test111111.jpg';
이런식으로 바꾸고 싶은데 간단한 해결법이 있을까요?
답변 3
<?php
$str = 'https://test.com/images/h_l?url=test111111.jpg&p=2&p=3';
$str_arr = explode('?',$str);
$sub_arr = explode('&',$str_arr[1]);
$new_str = $str_arr[0].'?'.$sub_arr[1].'&'.$sub_arr[2].'&'.$sub_arr[0];
echo $new_str;
https://test.com/images/h_l?p=2&url=test111111.jpg&p=3 이 주소로 접속 했을때를 말씀하시는거라면
get으로 url 값을 얻으실수 있어요.
그리고 확장자는 항상 마지막에 붙으니까 .을 기준으로 잘라서 마지막 인덱스를 제거해주시면 될거같아요
$originFileName = $_GET['url'];
$fileNameArr = explode('.', $originFileName);
$removeFileExt = array_slice($fileNameArr, count($fileNameArr) - 1);
$newFileName = implode($removeFileExt, '.');
데이타가 산발적으로 들어가 있느것이라면
데이타를 다 정제하셔야죠
파라미터로 붙는 내용들을
sinbi님이 이야기하신데로 다 분리를 해서
파라미터를 재조립할때의 순서를 정한후에
다시금 이어붙이도록 하시는게 나을것같습니다.
호출하는 파일이 소스코드라면 해당파일을 직접 수정하시는게 더 좋은방법이구요
데이타라면. .정제작업을 해서 기준을 마련해야죠
답변을 작성하시기 전에 로그인 해주세요.