|
|
|
| Помогите вытащить из ссылок <a ... href ></a> путь ссылки. Все предложенные на форуме варианты ориентированны на "правильные" ссылки, т.е. после "a" сразу же указывают "href". В моем случае между ними еще целая куча атрибутов.
Пробовала шаблон (?<=<a)href=\".*?\"/im" - выдает все, что после "а" | |
|
|
|
|
|
|
|
для: Anna
(15.05.2007 в 20:58)
| | | |
|
|
|
|
|
|
|
для: Loki
(16.05.2007 в 10:19)
| | эдак мы дофига чего наменяем.
<a name='x'>X</a>
<tag href="y" /> | |
|
|
|
|
|
|
|
для: Trianon
(16.05.2007 в 10:53)
| | Оба примера - мимо. Смотри регулярку внимательнее. | |
|
|
|
|
|
|
|
для: Loki
(16.05.2007 в 14:33)
| | Это один пример. | |
|
|
|
|
|
|
|
для: Trianon
(16.05.2007 в 16:12)
| | ага. точно:)
<a\s[^>]*?href=\"([^"]*)\"
|
| |
|
|
|
|
|
|
|
для: Loki
(16.05.2007 в 16:18)
| | на самом деле еще нужно проверять, что href после пропуска, и допускать пропуски вокруг знака равенства.... и допускать отсутствие кавычек.. Паршивая это работа.
Как сейчас помню на пол-страницы кода в книге Дж.Фридла...
Я поэтому и не клюнул. | |
|
|
|
|
|
|
|
для: Trianon
(16.05.2007 в 16:23)
| | >и допускать отсутствие кавычек
не только отсутствие, но и разные типы... а еще их экранирование. Так что я с самого начала не претендовал на 100% вариант:) | |
|
|
|
|
|
|
|
для: Loki
(16.05.2007 в 16:26)
| | насколько я помню, экранирование кавычек в атрибутах тегов - это что-то нестандартное. кавычки должны заменяться своими html-entity , т.е. " | |
|
|
|
|
|
|
|
для: Trianon
(16.05.2007 в 16:36)
| | да... это я что-то хватил:)
но на самом деле, внутри кавычек вполне допускаются (броузерами) символы <> | |
|
|
|
|
|
|
|
для: Loki
(16.05.2007 в 16:52)
| |
<?
$zz = 'ok.php' ;
$str = preg_replace("#(<a ((?!href=).)*?href=\"?\'?)([^ \"\'\>]+)(\"?\'?[^>]*>)#", '$1' . $zz . '$4', $str);
| если делать шесть вопросов и десять скобок :) | |
|
|
|