从大型内容中抓取文本


Text Grab from a large content

我需要获取一个被包围在分配给变量stringquotes中的文本。这就是的内容

受到启发,回忆起他从Doc和他的朋友那里学到的技巧,麦昆迅速出现,带领比赛进入最后几圈。希克斯,拒绝输球,让韦瑟斯陷入了一场危险的事故。正在查看回忆起Doc的命运,McQueen在比赛即将结束时停了下来让希克斯获胜,并将韦瑟斯推过底线终点线。群众和媒体谴责希克斯的胜利string="Mickey",并赞扬麦昆的体育精神。虽然McQueen拒绝了Dinoco的赞助协议,坚持和他现在的赞助商呆在一起,以感谢他们的过去支持

我需要从整个内容中获取Mickey

我在PHP上尝试了substr,但没有帮助。有什么想法吗?

p.S.引号中的字符串可能会有所不同

我认为preg_match应该像;

$matches = Array();
preg_match("/string'='"(.*?)'"/", $content, $matches);

最后$matches[1]应该包含该值。

如果字符串中只有一个引用的单词,最简单的方法是:

$myArr = explode('"',$string); // break the string to array with " as dilimeter
echo $myArr[1]; // echo the second element.

更新:对于许多报价,只选择string=:之后的报价

$myPos = strpos($string,'string="')+8; // get the position of string after 'string="'
$result = substr($string,$myPos,strpos($string,'"',$myPos)-$myPos);
echo $result;

注意:这应该比使用regex-phpFiddle效率高得多结果:

Yotam: 0.014078ms, bkilinc: 0.048885ms