0

CSV インポート ツールを使用し、特定のインポート構文があるため、インポート結果から URL を取得するためにいくつかの調査を行いました。

これはインポートされたテキストの例です。

... img src="MULTIFEED_START_7_http://www.suppliertestcase.com/423_1.jpgMULTIFEED_END_7_"

したがって、テキスト MULTIFEED_START_7_ (6 または 5 の可能性もあります...) とテキスト MULTIFEED_END_7 (再び 6 または 5 の可能性もあります...) の間にある画像の URL を取得したいと考えています。

いくつかのテストの後、それがうまく動作することがわかりました:

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 を提供しています。彼らはfeにこのURLを与えるだけです(ファイル拡張子なしのディレクトリURLのみ):

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

したがって、grep の出力はhttp://www.suppliertestcase.com/productphoto/になるはずです 。http:// で始まり、MULTIFEED_END テキストより前のすべての URL を取得するにはどうすればよいですか?

4

1 に答える 1

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

これを試して。

于 2012-07-14T05:26:35.643 に答える