programing

전체 경로 제거, 파일 이름만 유지

lastcode 2023. 2. 9. 21:59
반응형

전체 경로 제거, 파일 이름만 유지

imgurl로 반환되는 전체 URL 삭제 시도: 보통 http://localhost/wordpress/wp-content/uploads/filename.jpg 또는 http:/localhost/wordpress/wp-contents/uploads/images/filename.jpg반환합니다.

filename.jpg를 제외한 모든 것을 제거하고 ahng_photos_upload_image로 되돌리고 싶습니다.마지막 전방 슬래시까지 다 벗겨내.내가 어떻게 Jquery와 함께 할 수 있지?

window.send_to_editor = function(html) {
imgurl = jQuery('img',html).attr('src');
jQuery('#ahng_photos_upload_image').val(imgurl);
tb_remove();
}

jQuery는 필요 없습니다.단순히 오래된 JavaScript만 있으면 됩니다.

alert('http://localhost/wordpress/wp-content/uploads/filename.jpg'.split('/').pop());​​

고객님의 경우:

var filename = imgurl.split('/').pop();

정규식을 사용하여 이 작업을 수행할 수 있습니다.

var file = imgUrl.replace(/^.*[\\\/]/, '');

이제 파일은 파일 이름만으로 구성됩니다.

URL에 해시나 파라미터와 같은 재미있는 것이 없다고 확신한다면 다음과 같은 regex를 사용할 수 있습니다.

var filename = imgurl.replace(/^.*\/([^/]*)$/, "$1");

또, 「임굴」을 선언하는 것도 잊지 말아 주세요.var, 를 사용하는 것이 좋을 것 같습니다..prop()대신.attr()사용 중인 jQuery 버전이 1.6 이상일 경우:

var imgurl = jQuery('img', html).prop('src');

또한 jQuery는 함수의 2개의 인수 형식을 다음과 같이 내부적으로 변환합니다.

var imgurl = jQuery(html).find('img').prop('src');

그러니 그런 식으로 코드를 붙이는 게 좋을 거야

또 하나의 옵션:

var filename = imgurl.substring(imgurl.lastIndexOf('/') + 1);

JS Field 데모

여기 있습니다.

var filename = imgurl.split('/').slice(-1);

행운을 빕니다.

이것을 사용해 보세요.

imgurl.split('/').slice(-1);

편집: @Andy 버전을 확인합니다.pop()메서드(후자의 경우)보다 빠릅니다.slice(-1).

슬래시가 정방향인지 역방향인지 모를 경우 RE 버전의 split을 사용하는 것이 좋습니다.

"path".split(/[\/\\]/).slice(-1)

다음은 파일명이 ./file.jpg와 같을 때 사용할 수 있는 답변입니다.

var extension = fileName.slice((fileName.lastIndexOf(".") - 1 >>> 0) + 2);
var baseName = fileName.replace(/^.*\/([^/]*)$/, "$1");
var path = fileName.replace(/(^.*\/)([^/]*)$/, "$1");

언급URL : https://stackoverflow.com/questions/9353315/remove-full-path-keep-filename-only

반응형