0

我需要你的帮助来解决我自己做不到的模式。

我得到了这个文件:

    description1="SIOUH : Authentification Cerbere - Acces"
    description2="Acces formulaire authentification SIOUH"
    addheader="Pragma: no-cache "
    method="get"
    url="${AUTH_URL}/login/LoginDispatchAction.do?appId=${APP_ID}&backURL=${APP_URL_ENC}"
    errormessage="Phase 1 : Impossible atteindre le formulaire authentification CERBERE pour SIOUH"
    serveur="yes"
    verifypositive="loginConnectAppliForm"
    logrequest="yes" logresponse="no" />

我有这个完美的 preg_match_all :

preg_match_all  ( '#(.*?)="(.*?)"#s', $contents, $matches, PREG_SET_ORDER ); //Chaque option

我的问题是我可以有简单的引号而不是双引号,我怎样才能改变我的模式来处理它?例如,我需要像所有其他人一样抓住这条线:

parseresponse='name="conversationId" value="|"'

非常感谢您的帮助。

4

2 回答 2

1

尝试使用正则表达式

^(.*?)=[\'"](.*?)[\'"]$
于 2012-09-03T07:03:54.690 回答
1

使用反向引用来要求结束引号与开始引号匹配:

'#(.*?)=([\'"])(.*?)\2#'
于 2012-09-03T07:42:22.100 回答