Извлечь данные из PHP строки - PullRequest
2 голосов
/ 20 апреля 2011

Я использовал file_get_contents (), чтобы в основном получить исходный код сайта в одну строковую переменную.

Источник содержит много строк, которые выглядят следующим образом: <td align="center"><a href="somewebsite.com/something">12345</a></td>

(и много строк, которые не выглядят так).Я хочу извлечь все идентификаторы (12345 выше) и поместить их в массив.Как я могу это сделать?Я предполагаю, что хочу использовать какие-то регулярные выражения, а затем использовать функцию preg_match_all (), но я не уверен, как ...

Ответы [ 2 ]

4 голосов
/ 20 апреля 2011

Не связывайтесь с регулярными выражениями.Получите переменную и позвольте библиотеке DOM выполнять повседневные задачи за вас.Взгляните на: http://sourceforge.net/projects/simplehtmldom/

Тогда вы можете пройтись по своему HTMl, как дерево, и извлечь что-нибудь.Если вы действительно хотите повеселиться, прочтите xPath.

1 голос
/ 21 апреля 2011

Попробуйте это:

preg_match('/>[0-9]+<\/a><\/td>/', $str, $matches);
for($i = 0;$i<sizeof($matches);$i++)
 $values[] = $matches[$i];
...