我有一些文本,例如$text =“-e89a8f234aade3345704b8477b83 Content-Type:text / plain; charset = ISO-8859-1这是文本.这是文本.–e89a8f234aade3345704b8477b83 Content-Type:text / html; charset = ISO-8859-1 Content-Transfer-Encoding:带引号的可打印文字,这是文本.”
我希望输出为$output =“这是一个文本.这是一个文本.”;
还有一个例如:-$text =“-14dae9340ba954ae0704b84acde9 Content-Type:text / plain; charset = ISO-8859-1名字:aaa姓氏:aaa –14dae9340ba954ae0704b84acde9内容类型:text / html; charset = ISO- 8859-1名:James姓:Cummings –14dae9340b“;
输出应为$output =“ First Name:aaa Last Name:aaa”;
我没有怎么做.
解决方法:
如果您确定字符集为ISO-8859-1,并且字符串不包含-:
$a=explode("charset=ISO-8859-1",$text);
$b=explode("--",$a[1]);
$output=$b[0];
如果您仍然不确定字符集,但不确定-:
$aa=substr($text,0,30);
$a=explode("charset=ISO-8859-1",$text);
$b=explode($aa,$a[1]);
$output=$b[0];
如果您甚至不确定字符集,请执行以下操作:
$aa=substr($text,0,30);
$a=explode("charset=",$text);
$a2=explode(" ",$a[1]);
$b=explode($aa,$a2[1]);
$output=$b[0];
标签:php,regex
来源: https://codeday.me/bug/20191101/1985603.html