-2

在下面的代码中:

<a href="http://example.com/yadayada" yada-yadayada="/yada/yadayada/yadayada.php?x=12345&amp;yadayadayasomehtmltagandgiberishtexthere

我如何在 php 中编写一个正则表达式,它将删除之前x=和之后的所有内容,&am所以我只会得到这个值12345,这只是一个例子,但实际上,它会有所不同。

4

3 回答 3

3

假设您使用以下方法提取了整个 URL DOMDocument

// $url = '/yadayada?x=12345&y=7890';
parse_str(parse_url($url, PHP_URL_QUERY), $arr);
echo $arr['x'];

也可以看看:parse_url() parse_str()

于 2013-07-26T22:28:10.040 回答
1

使用与数字 [0-9] 匹配的 simple \d

$text = '<a href="http://example.com/yadayada" yada-yadayada="/yada/yadayada/yadayada.php?x=12345&amp;yadayadayasomehtmltagandgiberishtexthere';
preg_match_all("#x=(\d+)(&amp;|&)#", $text, $match);
print_r($match[1]);//12345

更新:模式更改为x=(\d+)(&amp;|&)

于 2013-07-26T21:59:36.607 回答
0

好的,我使用@Akam 和@Herberts 帮助解决了它。

preg_match_all("#x=(\d+)&#", $url, $match); print_r($match[1]);

多谢你们!

于 2013-07-26T23:25:39.927 回答