2

我需要获取一个被quotes分配给变量的文本string。这就是内容的样子

受启发并回忆起他从 Doc 和他的朋友那里学到的技巧,McQueen 迅速出现,带领比赛进入最后几圈。希克斯拒绝输球,将韦瑟斯送入了一场危险的事故。看到这一点并回忆起 Doc 的命运,McQueen 停在终点线附近,让 Hicks 获胜,然后开车回去将 Weathers 推过终点线。人群和媒体谴责希克斯的胜利 string="Mickey",并赞扬麦昆的体育精神。尽管提供了 Dinoco 赞助协议,但麦昆拒绝了,坚持与他目前的赞助商保持联系,以感谢他们过去的支持。

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

我试过substrPHP ,但没有帮助。有任何想法吗 ?

PS引号内的字符串可能会有所不同。

4

2 回答 2

3

我认为 preg_match 应该像这样使用;

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

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

于 2013-07-31T18:00:54.977 回答
2

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

$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;

注意:这应该比使用正则表达式更有效 - phpFiddle结果:

Yotam: 0.014078ms, bkilinc: 0.048885ms

于 2013-07-31T17:53:44.570 回答