次のテキストを検討してください。
$content=<<<EOT
{
"translatorID": "f4a5876a-3e53-40e2-9032-d99a30d7a6fc",
"label": "ACL",
"creator": "Nathan Schneider",
"target": "^https?://(www[.])?aclweb\\.org/anthology-new/[^#]+",
"minVersion": "1.0.7",
"maxVersion": "",
"priority": 100,
"browserSupport": "gcs",
"inRepository": true,
"translatorType": 4,
"lastUpdated": "2012-01-01 01:42:16"
}
// based on ACM translator
function detectWeb(doc, url) {
var namespace = doc.documentElement.namespaceURI;
var nsResolver = namespace ? function(prefix) {
if (prefix == 'x') return prefix; else return null;
} : namespace;
var bibXpath = "//a[./text() = 'bib']"
if(doc.evaluate(bibXpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
return "multiple"
}
//commenting out single stuff
// if (url.indexOf("/anthology-new/J/")>-1)
// return "journalArticle";
// else
// return "conferencePaper";
}
EOT;
テキストの先頭との{
間のテキストを選択したい。}
以下をテストしましたが、目的のテキストが得られませんでした。
preg_match('~\{(.*)\}~m',$content,$meta);
var_dump( $meta);
なにが問題ですか?