|
|
|
| Имеется исходник:
$source='<a href="http://domen.com" class="more-link">Read</a><a href="http://domen2.com" title="View">View</a><a href="http://domen3.com" title="No">No</a><a href="http://domen4.com" rel="bookmark">Book</a>';
|
Надо вырезать урл который только перед rel="bookmark"
Такой код выбирает все урлы:
preg_match_all('|<a href="http://(.+[^"])"|iU',$source,$arr);
|
Но такой, то что нужно, не выбирает:
preg_match_all('|<a href="http://(.+[^"])" rel[^>]+>|iU',$source,$arr);
|
| |
|
|
|
|
|
|
|
для: Dux
(06.10.2008 в 17:22)
| | Конкретно к вашему примеру
<pre>
<?
$source='<a href="http://domen.com" class="more-link">Read</a><a href="http://domen2.com" title="View">View</a><a href="http://domen3.com" title="No">No</a><a href="http://domen4.com" rel="bookmark">Book</a>';
preg_match_all('|<a href="http://([^"]+)" rel[^>]+>|i',$source,$arr);
print_r ($arr[1]);
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(06.10.2008 в 22:31)
| | нет, так пробовал не работает
нашел выход в этом коде
preg_match_all("!<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is",$str,$ok);
|
точнее так :)
preg_match_all('|<a.*?href="?\'?([^ "\'>]+)"?\'?\s?rel.*?>(.*?)</a>|is',$source,$ok)
|
| |
|
|
|
|
|
|
|
для: Dux
(06.10.2008 в 22:54)
| | >Конкретно к вашему примеру
Комментирую свою фразу.
А нюансов может быть много. Вы же не сказали как может быть. | |
|
|
|