我正在使用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=
我想将(。*)位置的内容放入数组中。
有人可以纠正我的模式并解释一下吗? 我想学习使用正则表达式。
答案 0 :(得分:0)
“不要使用正则表达式来解析HTML ”, 这里有一些简单的步骤来学习Regexp。
您正在寻找的表达式是:
<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>
)