0

<FONT COLOR="#0000ff">(insert some text here)<\/FONT>preg_matchでフェッチしたい。それに似た行が繰り返されて互いに接触しているので、私がそのような一般的なものを試してみると<FONT COLOR="#0000ff">(?<NAME>+)<\/FONT>、それらすべてを1つのセルとしてフェッチします。[^<]それで、私はそれが遭遇したよりも最初に停止するように投げました、それでそれがHTMLを含まないようにし、それ故に1つのセルになるのを防ぎました...

ただし、フェッチしているテキストに、必要なHTMLが含まれている場合があります。[^]で使用する方法はあり</Fますか?ネガティブな先読みの試みは、「うん、最後に間違いなく終了フォントタグがある。何も返さない方がいい」という理由でうまくいきませんでした。

4

1 に答える 1

2

私があなたを正しく理解している場合、欲張りでない一致を実行するには正規表現が必要です。例えば、

クエリ文字列が次の場合:<x> abc </x> <x> def </x> <x> hig </x>

私たちの正規表現は次のとおりです。/<x>(.*)<\/x>/

次に、貪欲な一致が実行され、正規表現を満たすため、返されるのはクエリ文字列全体です。これを回避するために、欲張りでないマッチングを使用します。

新しい正規表現:/<x>(.*?)<\/x>/

3つのタグすべてを返す必要がありますpreg_match_all()

于 2012-08-12T04:04:37.300 に答える