preg_match来自字符串和echo的动态文本

时间:2016-07-30 14:33:48

标签: php

我正在尝试使用preg_match

从字符串中获取动态文本
$desc = 'this is some text big <a href="//example.com/dynamicID">//example.com/dynamicID</a><br> and some more text here';

$desiredtext = preg_match("//example.com/.*?", $desiredtext, $desc);

echo $desiredtext; //this should return me only //example.com/dynamicID

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

请尝试以下操作:(已更新!)

if(preg_match("/(?<=href=")([^"]*)/", $desc,$matches)) $desiredtext=$matches[1];

它使用了一个搜索href="的后视组。然后,捕获组([^"]*)将抓取任何内容,直至下一个"。您可以根据自己的要求调整正则表达式。

回复您的评论:

将第一个搜索组()扩展为包含“example.com”,然后从matches[1]而不是matches[0]获取结果:

preg_match('/(example.com[^&]*)/',$desc,$matches);
$part = $matches[1]; 
echo $part;