php - PHP函数来适应texte不使用特殊字符?
问题描述
我正在努力使用一个根据字符串的第一个字母来调整文本的函数。
$str = "élo";
function deD($str) {
return (in_array(mb_strtolower($str[0]), array('a', 'e', 'é', 'è', 'ê', 'h', 'i', 'o', 'u')) ? 'd\'' : 'de ').$str;
}
echo deD($str).'</br>';
echo $str[0];
输出:de élo ...</p>
预期输出:d'éloé
基本上,mb_strtolower 应该防止所有特殊字符被误读。我尝试了不同的选择,但我仍然弄错了。我希望该功能适用于所有重音类型。
任何想法 ?
非常感谢法国!
解决方案
您需要为文件设置 utf-8 编码。试着把它放在顶部:
header('Content-type: text/html; charset=utf-8');
然后,代替$str[0]
,使用mb_substr($str, 0, 1)
function deD($str) {
return (in_array(mb_strtolower(mb_substr($str, 0, 1)), array('a', 'e', 'é', 'è', 'ê', 'h', 'i', 'o', 'u')) ? 'd\'' : 'de ').$str;
}
$str = 'élo';
echo deD($str).'<br>';
echo mb_substr($str, 0, 1);
推荐阅读
- mysql - MySql 数据库连接未在反应式 vertx 应用程序中重新建立
- c# - 使用 StorageLibraryChangeTracker 监视文件夹时出现 0x80080222 错误
- python - 使用正则表达式将部分文本提取到表格中
- python - 它不允许我比较此函数第二部分的日期
- c++ - vptr 和 vtable 是从基类继承的吗?
- matlab - 为什么关节回旋曲线的两个端点之间的位移与模拟的不匹配?
- google-apps-script - 带有本地参考公式的 Google Script / appendRow()
- python - ImportError:没有模块名称pyautogui
- python - 部署时heroku Push错误上的Discord bot
- python - 为什么我的 pygame 的按住键代码无法正常工作