PHP Preg_match_all正则表达式模式

时间:2012-09-03 06:59:26

标签: php regex preg-match-all

我需要你帮助我自己无法做到的模式。

我收到了这个文件:

    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="|"'

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

尝试使用像这样的正则表达式

^(.*?)=[\'"](.*?)[\'"]$

答案 1 :(得分:1)

使用反向引用要求结账报价与开头报价相匹配:

'#(.*?)=([\'"])(.*?)\2#'