Heim > Backend-Entwicklung > PHP-Tutorial > 求教 获取如下href的正则要怎么写

求教 获取如下href的正则要怎么写

WBOY
Freigeben: 2016-06-23 14:23:28
Original
960 Leute haben es durchsucht

php 正则

test.html<!DOCTYPE html><html>	<head>test</head>	<body>                    <a id="a5" href="111">wawa</a>			<a id="a6" href="222">hehe</a>			<a id="a7" href="333">haha</a>			<a id="a8" href="444">uuuu</a>              ......		<b>			<a id="a1" href="111">wawa</a>			<a id="a2" href="222">hehe</a>			<a id="a3" href="333">haha</a>			<a id="a4" href="444">uuuu</a>		</b>	               ........	</body></html>
Nach dem Login kopieren

想要用正则获取标签内的每一个的href
请问要怎么写?


回复讨论(解决方案)

$html = <<<TTT<!DOCTYPE html><html>    <head>test</head>    <body>                    <a id="a5" href="111">wawa</a>            <a id="a6" href="222">hehe</a>            <a id="a7" href="333">haha</a>            <a id="a8" href="444">uuuu</a>              ......        <b>            <a id="a1" href="111">wawa</a>            <a id="a2" href="222">hehe</a>            <a id="a3" href="333">haha</a>            <a id="a4" href="444">uuuu</a>        </b>                   ........    </body></html>TTT;preg_match_all('@<b>([^`]*?)<\/b>@i',$html,$match);preg_match_all('@href="(.+?)"@i',$match[0][0],$matches);var_dump($matches);
Nach dem Login kopieren
Nach dem Login kopieren

$html = <<<TTT<!DOCTYPE html><html>    <head>test</head>    <body>                    <a id="a5" href="111">wawa</a>            <a id="a6" href="222">hehe</a>            <a id="a7" href="333">haha</a>            <a id="a8" href="444">uuuu</a>              ......        <b>            <a id="a1" href="111">wawa</a>            <a id="a2" href="222">hehe</a>            <a id="a3" href="333">haha</a>            <a id="a4" href="444">uuuu</a>        </b>                   ........    </body></html>TTT;preg_match_all('@<b>([^`]*?)<\/b>@i',$html,$match);preg_match_all('@href="(.+?)"@i',$match[0][0],$matches);var_dump($matches);
Nach dem Login kopieren
Nach dem Login kopieren


这是先把里面的
先匹配出来,然后在匹配出href
有没有一个正则就匹配到的方法?

一个正则,我没有这个本事。
不过除了正则,还可以用dom解析,包括simplehtmldom

有没有能用一个正则就匹配出来的呢?

~\s*(]+href="(.*?)">.*?)*?\s*~msi

大体如此,自己调一下

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage