Здравствуйте, уважаемые программисты. Помогите составить регулярку на PHP для такого: имеем Code: <b>Линки</b></a><hr><a href="\http://site.ru/id.php?key=523169210347762514824620110374859\" class="\"takru\"" target="\"_top\"" onclick='\"javascript:' rnd(this);\=""> в итоге должны получить Code: http://site.ru/id.php?key=523169210347762514824620110374859 В общем извлечь ссылку из текста
PHP: <pre> <?php $a = <<<HTML <b>Линки</b></a><hr><a href="\http://site.ru/id.php?key=523169210347762514824620110374859\" class="\"takru\"" target="\"_top\"" onclick='\"javascript:' rnd(this);\=""> " HTML; preg_match_all('|<b>Линки</b></a><hr><a href="\\\(.*)\\\" class="|',$a,$res); print_r ($res[1]); ?> </pre>
Спасибо, но мне кажется он немного не универсальный. То есть стоит поменяться какому-то тегу то ссылку я уже не извлеку. Хотелось бы более универсальные решения. Спасибо.
оставь тогда внутри регулярки только <a href="\\\(.*)\\\ и всё < ahref ведь не поменяется? А вообще, прежде чем спрашивать, надо давать сразу все возможные варианты, а не только одну строчку, по идее
сосайтнек, а что если будет <a target="_blank" href="http://google.com">.. ? даже если когда будет hREf , тоже не будет результата. зачем такую "строгую" регулярку делать? будь попроще и делай более универсальные.. UnOuter: /<a.+?href="(.+?)"/is
Вставил сюда preg_match_all ("/<a.+?href="(.+?)"/is", $str , $massiv); и получаю ошибку. Parse error: syntax error, unexpected '(' in .... да и заметте, что в самом <a href=" есть %5C%22 как в начале так и в конце ссылки
PHP: $a = ' dasasdlad jlalsdasd asdloaim dasd asd adsda d <a href="google.com">asdqwd aoldm aikjqld qw as<a href=\'google2.com\' >d a sd aksudmqid jlasdq d wqd aw al;sd ;<A hReF="gOgOlE3.cOm">askd aksd mpqdio aksldj qd '; print htmlspecialchars($a).'<br><br>'; preg_match_all ("/<a.+?href=[\"'](.+?)[\"']/is", $a , $m); print '<pre>'; var_dump($m[1]); print '</pre>'; Code: dasasdlad jlalsdasd asdloaim dasd asd adsda d <a href="google.com">asdqwd aoldm aikjqld qw as<a href='google2.com' >d a sd aksudmqid jlasdq d wqd aw al;sd ;<A hReF="gOgOlE3.cOm">askd aksd mpqdio aksldj qd array(3) { [0]=> string(10) "google.com" [1]=> string(11) "google2.com" [2]=> string(11) "gOgOlE3.cOm" }