webForumDet fria alternativet

Hjälp med regexp (länkar + bilder)

PHP

1 svar · 460 visningar · startad av Guldstrand

Medlem sedan juli 20041 271 inlägg
Frågan#1

Jag försöker lära mig lite om regular expresions, och testar nu med att plocka ut länkar och bilder från olika externa sidor.

Regexp (länkar):

/<a([^>]+)\>(.*?)\<\/a\>/i

Regexp (bilder):

/<img([^>]+)\/>/i

Jag testade lite mot detta forum, och fick då följande resultat.
Bilder:

src="http://www.webforum.nu/images/wfstandard/logo_webforum.gif" border="0" alt="webForum"

Jag vill INTE ha med src=" eller border="0" alt="webForum" som i exemplet ovan.
(Vill endast plocka ut http://www.webforum.nu/images/wfstandard/logo_webforum.gif.)

Länkar:

[0] => name="top"
[1] => href="http://www.webforum.nu/?"
[2] => href="http://www.binero.se" target="_blank"
[3] => href="http://www.webforum.nu/?" accesskey="1"
[4] => href="register.php?" rel="nofollow"
[5] => rel="help" href="faq.php?" accesskey="5"
[6] => href="http://www.webforum.nu/showthread.php?t=173837"
[7] => href="search.php?" accesskey="4"
[8] => href="search.php?do=getdaily" accesskey="2"
[9] => href="forumdisplay.php?do=markread" rel="nofollow"
[10] => href="http://www.webforum.nu/search.php?"
[11] => href="http://www.webforum.nu/search.php?"
[12] => href="search.php?do=getdaily"
[13] => href="forumdisplay.php?do=markread"
[14] => href="faq.php?faq=about_wf#faq_faq_rules" rel="nofollow"
[15] => href="showgroups.php?"

I texten ovan, så plockas också href=", rel="nofollow" och annat ut.
(Vill endast plocka ut t.e.x. http://www.webforum.nu/search.php?.)

Går det att göra så att man slipper behöva tänka på om vissa "taggar/tecken" finns eller inte?

Medlem sedan juni 20019 519 inlägg
#2

Om det bara är href på ett a-element du är intresserad av:

/<a.*href=['"]?([^"']+)['"]?.*<\/a>/ig

samma sak med img:

/<img.*src=['"]?([^"']+)['"]?.*>/ig
283 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
145 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
145 ms — ändringar (db)