2014-06-06 1 views
2

Blogger에서 Wordpress로 이미지를 가져 오는 데 문제가 있었으며, 너무 작아서 인라인 게시물 콘텐츠 이미지의 모든 중간 크기를 사용했습니다.이미지 파일 이름에 대한 게시물 콘텐츠에서 REGEX 검색 및 바꾸기

내 Wordpress 미디어 설정에서 중간 크기 크기의 크기를 조정하려고 시도한 다음 Thumbnails 재생성 플러그인을 실행했지만 블로거 가져온 게시물의 이미지가 너무 작습니다. (이전 중간 크기를 사용하여 치수).

이 문제를 해결하는 방법을 생각해 보았습니다. 끝 부분에 치수가있는 이미지 태그가있는 곳이면 게시물 콘텐츠를 검색하고 바꿀 수있는 가장 쉬운 방법이라고 생각합니다.

MySQL은 어떤 종류의 수단으로

http://example.com/wp-content/uploads/2014/05/Comfy-Cozy-Couture-Design-Decoded.png 

검색 정규식을 사용하여 대체 :와

http://example.com/wp-content/uploads/2014/05/Comfy-Cozy-Couture-Design-Decoded-163x300.png 

그리고 교체하는 것이. 이 이미지 파일 이름에 상관없이, 그리고 끝에 차원에 상관없이 작동하도록하십시오.

그래서 :

http://example.com/wp-content/uploads/2014/05/an-image-filename.png 

을 또한 확장 (PNG/GIF/JPG)에 관계없이 작동 :

http://example.com/wp-content/uploads/2014/05/an-image-filename-123x456.png 

이 될 것입니다.

이상적인 상황에서는 치수를 완전히 제거하지 않고 이전 미디어와 동일한 종횡비를 유지하면서 크기를 최대 미디어 파일 크기 (최대 너비 : 600, 최대 높이 : ∞)로 업 사이징합니다. 치수. 그러나 나는 이런 종류의 질의가 훨씬 더 어렵다고 느낍니다. 그리고 내 사용자가 모든 웹 준비 크기의 이미지를 업로드했다고 생각합니다.

문제를 해결하기 전에이 문제를 해결 한 사람이 있습니까? 또는 블로거의 2000 개 이상의 게시물을 다시 가져 오지 않고도 더 간단한 방법을 알고 계신가요?

미리 감사드립니다.

편집 :

또는 경우 사람은 왜 재생성을 알고있다. 미리보기 이미지가 작동하지 않습니다. 내 이미지는 게시물에 부착하지만, 여기에이 뱉어지고있는 것처럼 내 이미지 태그는 모습입니다 있습니다 : 그것은 폭과 높이 attrs에 올바른 크기를 가지고 있지만 이미지 소스 이전을 가지고 있기 때문에

<img alt="Comfy Cozy Couture" class="aligncenter size-full wp-image-3654" src="http://example.com/wp-content/uploads/2014/05/Comfy-Cozy-Couture-Design-Decoded-163x300.png" height="1100" width="600" /> 

그것은 이상한 파일 이름에 하드 코드 된 차원.

이전에 JS로이 모든 작업을 시도했지만 더 영구적 인 솔루션을 원했습니다. 여기에 내가 JS와 함께 무엇을하고 있었는지의 :

$('.entry-content img').prop('src', function (i, v) { 
    return v.replace(/-\d+x\d+\.(jpg|png|gif)$/, '.$1'); 
}); 
+0

검색 :'(https? : \/\/\ S *?) - \ d + x \ d + ([.] png | gif | jpe ? g))'로 대체하고 '\ 1 \ 2'로 바꿉니다. 죄송합니다. 전적인 대답을 할 동기가 없습니다. 도움이 되었으면 좋겠네요. :) – Sam

+0

@Sam 감사합니다. MySQL을 REGEX로 대체 한 적이 없습니다. 아직도 나 자신을 연구 중이다. – Corey

+0

MySQL에서는 지원되지 않지만 [이 해결 방법] (http://stackoverflow.com/questions/986826/how-to-do-a-regular-expression-replace-in-mysql)이 있습니다. 2k + 게시물을 반복하고 링크를 파싱하고 업데이트를 게시하는 빠른 PHP 스크립트를 함께 던질 가치가 있습니다. 그런 다음 [최대 크기]를 처리하기 위해 ['preg_replace_callback()'] (http://www.php.net/manual/en/function.preg-replace-callback.php) 필요한 것. – Sam

답변

2

나는 유사한 검색을 수행하고 워드 프레스 검색 Regrex 플러그인 (https://wordpress.org/plugins/search-regex/) 다음과 같은 검색 패턴을 사용하여 교체 할 수 있었다 :

.-\d+x\d*. 

당신이 시도하는 경우를 이걸 넣어 .- \ d + x \ d *. 검색 패턴에서 "Regex"를 선택하십시오. 패턴을 아무것도 대체하지 않았습니다. (기본적으로 문자열의 "- ### x ###"부분을 제거했습니다.)

플러그인을 사용하면 제출하기 전에 결과를 미리 볼 수 있습니다. 검색은 패턴이하는 일을 보여줍니다. 바꾸기는 바꾸기를 미리 봅니다. 바꾸기와 저장은 정확히 무엇이 들릴지 :-)

+0

감사합니다. 감사합니다! – Corey

+0

REGEX가 충분하지 않다고 생각합니다. ex :'a-4ximage-filename-163x300.png'에 대해 다른 파일명과 몇 번 일치하는 것 같습니다. 나는이 하나를 '- \ d + x \ d + \.'로 바꾸고 '.'로 바꾸려고했지만 "잘못된 정규 표현식 : 끝 구분 기호가 없습니다 '-'찾았습니다." – Corey

+1

이것은 잘 작동합니다 :'- \ d + x \ d + \ .-'. 그러나 첫 번째 대시는 포함되지 않습니다. – Corey

관련 문제