|
|
|
| Дело такое, в переменной имеется ХТМЛ, задача сделать работающими ссылки с линками на русские файлы, вот как я попытался её решить:
<?
preg_match_all("/ href=\"(.*)\" /", $text, $url_arr );
print_r($url_arr);
?>
|
но при выводе он почемуто захватывает ещё и target="blank" и прочую муру в ссылке, вот как это выглядит:
Array
(
[0] => Array
(
[0] => href="/upload/ya.gif.gif">Test</a></b></li>
[1] => href="/upload/doosrmarket.jpg.jpg">Test2</a></strong></li>
[2] => href="/upload/parfum.jpg.jpg" target="_blank">Test3</a></strong></li>
[3] => href="/upload/shop.jpg.jpg" target="_blank">Test4</a></strong></li>
[4] => href="/upload/shop.jpg.jpg" target="_blank">20.12.1986 Прайс</a></strong></li></ul>
)
[1] => Array
(
[0] => /upload/ya.gif.gif
[1] => /upload/doosrmarket.jpg.jpg
[2] => /upload/parfum.jpg.jpg" target="_blank
[3] => /upload/shop.jpg.jpg" target="_blank
[4] => /upload/shop.jpg.jpg" target="_blank
)
)
Что можно сделать чтобы он цеплял только ссылки ??? | |
|
|
|
|
|
|
|
для: namo
(10.09.2006 в 14:51)
| | Когда используете последовательность .* всегд инвертируйте "жадность" иначе регулярное выражение будет захватывать как можно большее соответствие. Используйте либо модификатор U
<?
preg_match_all("/ href=\"(.*)\" /U", $text, $url_arr );
print_r($url_arr);
?>
|
либо последовательность .*?
<?
preg_match_all("/ href=\"(.*?)\" /", $text, $url_arr );
print_r($url_arr);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(10.09.2006 в 14:58)
| | спасибо за помощь, буду знать :) | |
|
|
|