My Text :
12a49803-713c-4204-a8e6-248e554a352d_ Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: base64 DQrn0Ocg0dPH5MkgyszR6sjqySDl5iDH5OfoyuXq5A0KDQrH5OTaySDH5NnRyOrJIOXP2ejlySAx MDAlDQogCQkgCSAgIAkJICA= --_12a49803-713c-4204-a8e6-248e554a352d_ Content-Type: text/html; charset="iso-8859-6" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT48IS0tDQouaG1tZXNzYWdlIFANCnsNCm1hcmdpbjowcHg7
I want to extract iso-8859-6
The regex you are looking for is:
The php code you need is:
The output is:
you could do:
preg_match('/charset="([^"]+)"/',$string,$m); echo $m[1];
Edit: In case all need matching (prompted from other answer) modify like this:
preg_match_all('/charset="([^"]+)"/',$string,$m); print_r($m);
if you are interested in getting both matches (since you have 2 in the string) and iterate through them you should do something like this. also i used single quotes to not have to escape the quotes inside the regex. used ridgerunners suggestions aswell.