var_dump(
preg_replace(
array(
'#[\s\n\\n]*<[\/\s]?(br|/p|/div)[\/\s]?>[\s\n\\n]*#iu', '#\s+#' ),
' ', "A 19th century Dutch walnut secrétaire à abattant")
)
)
);
结果是:
string(102) "A 19th century Dutch walnut secrétaire � abattant"
为什么我的正则表达式打破了PHP中的特殊字符?
答案 0 :(得分:1)
如果您将字符编码设置为正确,则没有问题。查看您在eval.in上运行的代码。
确保在您的html文档中包含此内容:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
并将您的PHP文件保存为UTF-8编码。根据您的编辑器,这可能是&#34;另存为&#34;对话框,或在&#34;偏好&#34;或&#34;选项&#34;菜单。