Кажется, все в порядке. Убедитесь, что $ message не сбрасывается или не отличается каким-либо образом с этим регулярным выражением.
$message = 'Request have return error: Invalid email syntax; Request: {"jsonrpc":"2.0","method":"add_contact","params":["420a42ea1685c9a273f26378aa82081b",{"campaign":"nfzM","name":"Chris Allen","email":"eric","ip":"127.0.0.1","customs":[{"name":"phone","content":"123456"},{"name":"address","content":"123 Fake Street"},{"name":"city","content":"Chicago"},{"name":"state","content":"IL"},{"name":"zipcode","content":"0001"},{"name":"country","content":"United States"},{"name":"company_name","content":"Acme"},{"name":"store_url","content":"http:\/\/www.google.com"},{"name":"timestamp","content":"06.10.13"},{"name":"subscriber_ip","content":"127.0.0.1"}]}],"id":2};';
$reason = preg_match('/(?<=error\:)(.*?)(?=\; Request)/', $message);
var_dump($reason);
дает ответ:
int(1)
Это работает хорошо для меня. – Toto
Кажется, у меня была парадная новая строка, которая не была в примере regexr, но выводилась из моей ошибки. Благодарю. –