Как получить число в ссылке из HTML-кода с помощью preg_match? - PullRequest
0 голосов
/ 28 января 2011

Мне нужно выяснить, есть ли в массиве конкретный HTML-код. Массив содержит HTML-коды, и мне нужно получить число, которое включено в ссылку. Это было бы то, что я ищу (число 10 это число, которое я хочу): class = "active" href = "http://www.example.com/something-10

Итак, я попробовал следующее, используя preg_match:

if(preg_match('/class = "active" href = "http://www.example.com/something-(.*)/',$array["crawler"],$arr)) { print_r($arr,true); }

К сожалению, это ничего не даст. Так что я думаю, что-то не так с моим preg_match. Я уже проверил все руководства, но все еще не понимаю, что делаю неправильно.

Может ли кто-нибудь помочь мне с этим? Спасибо!

phpheini

1 Ответ

2 голосов
/ 28 января 2011

Помимо рекомендации не анализировать HTML с помощью регулярных выражений , вашему конкретному регулярному выражению нужны разные разделители:

preg_match('~class = "active" href = "http://www\.example\.com/something-(\d+)~', ...)

В качестве альтернативы, вы могли бы избежать косых черт в регулярном выражении, но это приводит к LSS (синдром наклонной косой черты):

preg_match('/class = "active" href = "http:\/\/www\.example\.com\/something-(.*)/', ...)

И это просто ужасно.

Вы должны были получить ошибку, если ваш error_reporting включен.

...