ホームページ >バックエンド開発 >PHPチュートリアル >サイズが一致するテキスト内の最初の画像のアドレスを取得します

サイズが一致するテキスト内の最初の画像のアドレスを取得します

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:58:04921ブラウズ

preg_match_all を使用してすべての画像アドレスを取得し、要件を満たすソリューションが見つかるまで判定をループできます。

でも、最初の写真を見つけたらすぐに判断したいのですが、一致しない場合は、2 番目の写真を見つけてからもう一度判断します。それともすべてのマッチをリサイクルしても大丈夫ですか?


ディスカッションへの返信 (解決策)

参照

preg_match

参照

preg_match



preg_match は最初の画像アドレスのみを取得できますが、画像が一致しない場合の取得方法サイズ 写真2枚?

Preg_match 通常のマッチングは使用できませんか?必要な画像に合わせて規則的なルールを作成できます。

Preg_match 通常のマッチングは使用できませんか?必要な画像に合わせて規則的なルールを作成できます。



はい、最初の写真と一致しましたが、この写真は私の要件を満たしていません。 2 番目の画像を一致させたいです

記事のサムネイルを抽出して小さなアイコンをフィルタリングするのとよく似ています
preg_match_all 関数は、一致するすべての結果を直接返すようです 記事が長すぎる場合、または画像が多すぎる場合は、実際に影響します。パフォーマンス
preg_match をループして毎回カットする 一致した記事の最初の部分を削除するのはどうですか?ブレークポイントの位置をすばやく取得するにはどうすればよいですか?
これは preg_replace_callback を使用して実行できますか?コールバック関数がメインの呼び出し関数を終了する方法はありますか?
言い換えると、あなたのテキストはユーザーによって収集または投稿されたものですか?後者では、画像を添付ファイルとしてデータベースに保存できるので、ueditor を使用して

preg_match_all を実装し、必要に応じてループの結果を一度に取り出すことができます。条件が満たされるまでループ内で preg_match または strstr を 1 つずつ実行します

両者の効率は同じですが、preg_match には残りの文字列判定の問題があります

php 5.2 では、純粋な文字列関数を使用して文字を識別できます性格によって。効率は正規表現を使用するよりも大幅に高くなります
php 5.3 以降では、この 2 つは同等の効率です。病気を隠して治療を避ける必要はありません

元の文字列でstrip_tagsを実行し、imgタグのみを保持することをお勧めします。これにより、処理が数倍速くなります


さらに、プログラムにフォローがない場合は、 -up アクション (つまり、条件が満たされたときに終了することが許可されます)
その場合、 preg_replace_callback があなたのニーズを最もよく満たします


さらに、プログラムに後続のアクションがない場合 (つまり、条件が満たされたときに終了することが許可されます) )

それなら、preg_replace_callback があなたのニーズに最適です


ありがとうございます!



記事のサムネイルを抽出して小さなアイコンをフィルタリングするのとよく似ています preg_match_all 関数は、記事が長すぎるか、写真が多すぎる場合、パフォーマンスに大きな影響を与えるようです

preg_match とをループします。一致する接頭辞を毎回切り取る いくつかの記事についてはどうでしょうか?ブレークポイントの位置をすばやく取得するにはどうすればよいですか?

これは preg_replace_callback を使用して実行できますか?コールバック関数がメインの呼び出し関数を終了する方法はありますか?
言い換えると、あなたのテキストはユーザーによって収集または投稿されたものですか?後者では、写真を添付ファイルとして保存し、簡単に管理できるようにソースコードを変更できます


ここで、写真を添付ファイルとして保存することは、すべての写真をファイルに保存することを意味すると述べました。別の記事にしますか?


これが私が行うことです。記事テーブルに別のフィールドを作成し、記事内のすべての画像リンクをカンマで区切ってこのフィールドに保存します。このフィールドを使用して、ディスクに保存されているイメージを操作してみてはいかがでしょうか?

img タグを抽出するためにモデレーターが提案したstrip_tags は見事に的中しました
投稿者は、単一のフィールドで複数のデータを管理する場合はカンマで区切られているが、カンマは非常に限られた場合にしか使用されないと述べています。検索や並べ替えは行わず、データベースのパラダイムについて学ぶことができます。端的に言えば、管理を容易にするために複数のデータを別のテーブルに構築する必要があります 私は少し前に初心者の CMS を自分で書き、画像用に別のテーブルを作成してアップロードしました。 ajax に送信し、id と src を返しました。いくつかの記事フィールドとこれらの画像 ID を送信した後、画像テーブル内のこれらの画像の他のフィールドを変更し、現在の記事にバインドします。管理するのに非常に便利です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。