3

私はWordpressでIFTTTを使っているので、インスタグラムで投稿を作成するたびに、レシピがWordpressで投稿を作成します。

IFTTT が作成するコード:

<div>
   <img src='https://scontent.cdninstagram.com/t51.2885-15/sh0.08/e35/12724750_1719815604930604_2078818546_n.jpg?ig_cache_key=MTE5MTQxNTkwMjE5ODM2NzYwOQ%3D%3D.2' style='max-width:600px;' /><br/>
   <div>
      <a href="http://ift.tt/1XKFC24Q7" target="_blank">See</a>
   </div>
</div>

なんらかの理由で、特集画像のようなこの画像を追加するために使用しているプラ​​グインは、画像の src のこの終わりが気に入らないため、「.jpg」の後のコードを削除する必要があります。

"?ig_cache_key=MTE5MTQxNTkwMjE5ODM2NzYwOQ%3D%3D.2")。

保存する前に投稿を変更する Wordpress フィルターを見つけました。だから私はこのコードを試しましたが、これはその後の他のすべてのコードを削除します?

add_filter( 'wp_insert_post_data' ,  __NAMESPACE__ . '\\filter_post_data' , '99', 2 );

function filter_post_data( $data , $postarr ) {

  $data['post_content'] = substr( $data['post_content'], 0, strpos( $data['post_content'], "?")); delete all after ?

  return $data;
}

疑問符 (?) の後のすべてを削除し、img タグの src 内のみを削除するとは、どのように言えますか?

これは次のリファレンスです$data['post_content']

https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data

4

3 に答える 3

0

その特定の HTML のコンテンツを置き換えたい場合は、次の方法を試してください。

$a="<div><img src='https://scontent.cdninstagram.com/t51.2885-15/sh0.08/e35/12724750_1719815604930604_2078818546_n.jpg?ig_cache_key=MTE5MTQxNTkwMjE5ODM2NzYwOQ%3D%3D.2' style='max-width:600px;' /><br/><div><a href='http://ift.tt/1XKFC24Q7'target='_blank'>See</a></div></div>";
echo preg_replace('/(\?.*)(?=\')/U','',$a);

<div><img src='https://scontent.cdninstagram.com/t51.2885-15/sh0.08/e35/12724750_1719815604930604_2078818546_n.jpg' style='max-width:600px;' /><br/><div><a href='http://ift.tt/1XKFC24Q7'target='_blank'>See</a></div></div>

幸運を

于 2016-02-24T15:43:48.623 に答える