2012-03-13 3 views
2

нужна помощь с регулярным выражением я сделать ... есть некоторый текст, где ссылки кодируются какИзвлечение ссылки с использованием регулярных выражений с помощью PHP

[NameLink ->link] или [NameLink->link]

Ссылка может быть без HTTP: // или WWW. пытались получить его, используя этот шаблон

/\[.{1,}\-\>.{1,}\]/

но если есть 2 таких кодированные ссылки в строке, то он не разделить их, и принимает также содержание между двумя каналами. Может кто-нибудь сказать мне, в чем проблема? Спасибо

+0

Можете ли вы привести пример ваших входных данных, а затем пример того, что вы хотели бы получить из этих данных? – Matt

ответ

3

Использовать +? вместо {1,}. Также, прочитайте на greedy vs. nongreedy.

Возможно, вы захотите разбить пробелы, используя \s* вокруг вашего .+?, это позволяет как [NameLink -> link], так и [NameLink ->link].

+0

Спасибо большое, что реально помогло !!! –

Смежные вопросы