Php 从Wiki XML语法提取图像路径
我尝试解析从XML中获取的WikipediaXML 在一种情况下,我需要提取所有图像路径。原始标记看起来像Php 从Wiki XML语法提取图像路径,php,regex,Php,Regex,我尝试解析从XML中获取的WikipediaXML 在一种情况下,我需要提取所有图像路径。原始标记看起来像 [[Bild:nameOfImage.png|image description]] “Bild”也可以是“图像”、“文件”或“日期” 为了提取图像的文本,我使用这个正则表达式 '|\[\[.*\|.*\]\]|U' 如果图像描述中不是另一个“[[…]]”的话,这很好,比如 [[Bild:nameOfImage.png|image Description with a [[new
[[Bild:nameOfImage.png|image description]]
“Bild”也可以是“图像”、“文件”或“日期”
为了提取图像的文本,我使用这个正则表达式
'|\[\[.*\|.*\]\]|U'
如果图像描述中不是另一个“[[…]]”的话,这很好,比如
[[Bild:nameOfImage.png|image Description with a [[new wiki link]] ]]
我的问题是,如何修改正则表达式以获得第一个“[[”和最后一个“[/strong>”]]”之间的all文本,而不计算所有“['an']”字符
提前感谢因为您使用的是PHP,所以您可能能够使用它。
考虑到你没有捕获任何东西:
/\[\[(((?>[^\[\]])|(?R))*)\]\]/U
注意,我没有尝试过这个正则表达式,因为我没有办法使用PHP
编辑:
preg_match('/\[\[(?>[^\[\]]|(?R))*\]\]/U', '[[Bild:nameOfImage.png|image Description with a [[new wiki link]] ]]', $array);
var_dump($array);
似乎有用。耶!非常感谢!!:)