Php 在下一个标记之前,所有内容的正则表达式模式

Php 在下一个标记之前,所有内容的正则表达式模式,php,regex,preg-match,Php,Regex,Preg Match,大家好 <strong>Potato</strong> preg_match("'<strong>(.*?)</strong>'si", $source, $match); 我想把它放在这样一个数组中: ( 'Potato' => 'Carrot', 'Apple' => 'Pear', 'Lemon' => 'Citron' ) 但我不知道我如何才能做到这一点。你们能帮帮我吗 提前谢谢 您可以使用:

大家好

<strong>Potato</strong>

preg_match("'<strong>(.*?)</strong>'si", $source, $match);
我想把它放在这样一个数组中:

(
    'Potato' => 'Carrot',
    'Apple' => 'Pear',
    'Lemon' => 'Citron'
)
但我不知道我如何才能做到这一点。你们能帮帮我吗

提前谢谢

您可以使用:

preg_match("'<strong>(.*?)</strong>\s*([^<]*)'si", $source, $match);

预匹配(“(.*)\s*([^谢谢!不过还是有点用。如果
胡萝卜
雪铁龙
都是链接呢?它们现在似乎没有被解析。@Thew.如果你要解析完整的HTML,你最好用HTML解析器来代替。你会在同正则表达式和HTML的同时头疼的。我知道HTML parsing,但使用简单的HTML dom()我似乎没有得到我想要的。@Thew.这可能是可能的,但需要付出大量的努力,这最终是不值得的。我自己对HTML解析器没有太多的经验,所以我不能帮你那么多。没关系。不管怎样,谢谢你朝着正确的方向努力。
preg_match("'<strong>(.*?)</strong>\s*([^<]*)'si", $source, $match);