非常に単純な質問をして申し訳ありませんが、ここに私の問題があります。私は実際に自分のニーズに合わせて PlancakeEmailParser を変更しています。
簡単な正規表現を作成しました:
/([^:]+) (<+.*>)$/
と一致する必要があります:
John DOE <johndoe@fakemail.com>
http://www.gethifi.com/tools/regexでテストしましたが、完全に機能します
しかし、私のコードでは false を返します!
問題のあるコードは次のとおりです。
preg_match('/([^:]+): ?(.*)$/', $line, $matches);
$newHeader = strtolower($matches[1]);
$string = $matches[2];
$reg = "/([^:]+) (<+.*>)$/";
echo 'VALUE: '.$string."\n";
echo 'PREG_MATCH: '.preg_match($reg, $string)."\n\n";
if (preg_match('/([^:]+) (<+.*>)$/', $matches[2])) {
echo('match'."\n\n\n\n");
} else {
$value = $matches[2];
}
エコー フィードバックは次のとおりです。
VALUE: John DOE <johndoe@fakemail.com>
PREG_MATCH: 0
あなたの誰かが問題が何であるかを理解していますか?
どうもありがとうございました !
編集
問題は、すべてのコンテンツで htmlentities を作成したため、 <> が変換されたことです。
解決策は、これから正規表現を書き直すことです:
/([^:]+) (<+.*>)$/
これに
/([^:]+) (<+.*>)$/
助けてくれてありがとう、ピーター・アルフビン:)
いつか誰かの役に立つかもしれない