2

私は preg_match_all() を使用していますが、私の問題は、必要なパターンを作成できないことです。ソーステキストの例:

<td align='left'>
    <span style='font-size: 13px; font-family: Verdana;'><span>
</td>
<td>
    <a style='color: #ffff00' rel='gb_page_fs[]' title='Parodyk kitiems 8 seriją' href='/pasidalink-19577x10/'>
        <img src="/templates/filmai_black/images/ico_tool_share.gif" />
    </a>
</td>
<td>
    <small>LT titrai</small>
</td>
<td>
    <a rel='gb_page_center[528, 290]' title='Žiūrėti 8 seriją' href='http://www.filmai.in/watch.php?em=BuwgzpqtssiAGGcjeekz9PTI1NjQ0N2E~'>
        <img src="/templates/filmai_black/images/play_icon.png" width="20" onclick='set_watched_cookie_serial("19577x10", "done-tick-full-series")' />
    </a>
</td>

私はパターンを使用しています:

<td><small>(.*)</small></td>
<td><a rel='gb_page_center[528, 290]' title='Žiūrėti (.*) seriją' href='(.*)'><img src=

(.*) の場所のコンテンツを配列に取得したい。

誰かが私のパターンを修正して説明してもらえますか? 正規表現の使い方を学びたいです。

4

1 に答える 1

0

HTML の解析に Regex を使用しないでください」 はさておき、ここでは Regexp を学習するための非常に簡単な手順をいくつか紹介します。

  1. RegexBuddy をダウンロードしてインストールする
  2. RegexBuddy を実行
  3. 簡単なことから始めて、FLY! :)

あなたが探している式は次のとおりです。

<small>(.*)</small>

タグの間にあるすべての文字を見つけてsmall、それらを後方参照に入れます。Backreference配列と考えてください。最初に見つかった項目は 0、次は 1 などです。

// command:
preg_match_all('%<small>(.*)</small>%i', $subject, $result, PREG_PATTERN_ORDER);

// $result[0]

Array
(
    [0] => <small>LT titrai</small>
)
于 2013-03-14T09:53:23.980 に答える