Как проверить гиперссылку из разных ссылок с помощью php - PullRequest
0 голосов
/ 02 марта 2012

Подскажите, пожалуйста, как проверить гиперссылку из разных гиперссылок.например,

я хочу получить эти ссылки отдельно, начиная с выделенного жирным шрифтом адреса (между двумя звездами) с веб-сайта, используя простой html dom

1 http://**www.website1.com**/1/2/
2 http://**news.website2.com**/s/d
3 http://**website3.com/news**/gds

я знаю, что мы можемсделать это с помощью preg_match, но я получаю трудное понимание preg_match.Может ли кто-нибудь дать мне сценарий preg_match для проверки этих веб-сайтов ... и можете ли вы также объяснить мне, что это означает

preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url)

Что это за символы случайного вида в preg_match?что означают эти символы?

Ответы [ 2 ]

1 голос
/ 02 марта 2012

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

И если вы хотите использовать их больше, обязательно прочитайте книгу Освоение регулярных выражений .

Редактировать: вот простое прохождение:

  • первый параметр preg_match - это строка регулярного выражения. Вторая - строка, с которой вы тестируете. Третий необязательный может быть использован и будет массивом, внутри которого хранится все захваченное.
  • | используются для разделения вашего регулярного выражения и его параметров. То, что находится между первым, является регулярным выражением, i в конце является опцией (что означает, что ваше регулярное выражение нечувствительно к регистру)
  • первый ^ обозначает, где начинается строка, которую вы хотите сопоставить
  • тогда (с)? означает, что вам нужен один или несколько символов, и вы хотите «захватить его» * ​​1018 *
  • [a-z0-9] + - любое количество (даже 0) буквенно-цифровых символов
  • (. [A-z0-9 -] +) * неверно. Должно быть (\. [A-z0-9 -] +) * для захвата любого количества последовательностей, образованных точкой, затем хотя бы один буквенно-цифровой символ
  • (: [0-9] +)? будет захватывать одну или ни одну последовательность, образованную: с последующим любым числом. Используется для получения URL-порта
  • (/.*)? захватывает конец URL, косую черту, за которой следует любое количество символов
  • $ - конец вашей строки
0 голосов
/ 02 марта 2012
...