请问,使用正则表达式模式从$output
获取$string
的正确php代码是什么?
$string = 'xmlns(ns=http://testurl.com/now)xpointer(//section/datePublished/text())';
概括:
$string = 'string1(string1_1)string2(string2_1)';
方括号可以是递归的(如text()
)。
即string1_1
和/或string2_1
可以包含其他括号。
$ string ='string1(string1_1())string2(string2_1()string2_2());
知道方括号前缀xmlns
,我需要使用正则表达式模式来获取//section/datePublished/text()
,即知道string1
我需要使用正则表达式模式来获取string1_1
(或{{1 }}。
知道方括号前缀string1_1()
,我需要使用正则表达式模式来获取xpointer
,即知道ns=http://testurl.com/now
我需要使用正则表达式模式来获取string2
(或{{1 }}。
你能解释一下这个过程吗?
答案 0 :(得分:0)
这可以帮助
preg_match('/xmlns\((.*)\)xpointer\((.*)\)/', $inString, $outArray);
$output = $outArray[2];
$output1 = $outArray[1];