2012-07-14 5 views
0

CSV 가져 오기 도구를 사용하고 특정 가져 오기 구문이 있기 때문에 가져 오기 결과에서 URL을 가져 오기 위해 일부 조사를 수행했습니다.특정 단어까지 URL 가져 오기

가져온 텍스트의 예입니다.

... IMG의 SRC = "MULTIFEED_START_7_http : //www.suppliertestcase.com/423_1.jpgMULTIFEED_END_7_"

그래서 나는 텍스트 MULTIFEED_START_7_ 사이에있는 이미지 URL을 잡고 싶어 (수 6 또는 5 ...도)와 텍스트 MULTIFEED_END_7는 (다시 6, 5, ...)이 될 수

일부 테스트가 함께 잘 작동하는지 알아 낸 후 :

으로, preg_match_all ('# (HTTP : // (. *). (gif | png | jpg)) # i ', $ post [0] -> post_content, $ matches);

는 .JPG로 끝나는 경우 .gif 참고 또는

출력 .png를 올바르게 모든 URL을 가져옵니다 http://www.suppliertestcase.com/423_1.jpg

하지만 ... 그래 지금 내 문제입니다.

일부 공급 업체는 .jpg 또는 .gif 확장자없이 가져 오기 할 때 제품 사진 URL을 제공합니다.

의 img SRC = "MULTIFEED_START_7_http : //www.suppliertestcase.com/productphoto/MULTIFEED_END_7_"

그래서위한 grep의 출력을해야 http://www.suppliertestcase.com/productphoto/ 그들은 단지 (파일 확장자없이 단지 디렉토리 URL) 철이 URL을 제공 http : //로 시작하는 URL과 MULTIFEED_END 이전의 모든 URL을 어떻게 가져올 수 있습니까?

답변

0
preg_match_all('~(?<=(MULTIFEED_START_\d_))(.+)(?=(MULTIFEED_END_\d_))~',$src,$matches); 

시도해보십시오.

+0

안녕하세요, Mohammer, 답장을 보내 주셔서 감사합니다. 대체 $ src에서 $ post [0] -> post_content까지 시도했지만 작동하지 않습니다. 그러나 MULTIFEED_END _... end를 정의하는 방법은 좋은 팁입니다. 내가 마지막으로 .jpg, .gif 또는 .png로 작동하는 원래 grep과 여러 조합을 시도해 보겠습니다. preg_match_all ('# (http : // (. *). (gif | png | jpg)) #i ', $ post [0] -> post_content, $ matches); – Dan

+0

이상합니다. 나는 그것을 다시 시험했고 그것은 나를 위해 일했다. .. 미안하다! – Mohammer

+0

어쨌든 Mohammer. 오랫동안 이미지 확장이 다음과 같이 완벽하게 작동합니다. preg_match_all ('# (http : \/\ (. *) \. (gif | png | jpg)) # i', $ post [0] -> post_content, $ matches); .jpg 또는 .gif 또는 .png (outpot 결과에 포함 된 .jpg 또는 .gif 또는 .png)가 감지 될 때까지 http : // 부분부터 시작하여 모든 것을 가져옵니다. 작동하는 preg_match_all의 시작 부분 와 MULTIFEED_END 텍스트를 감지 할 수있는 (? = (MULTIFEED_END_ \ d_)) 정의 – Dan