drba1172 2010-12-16 16:42
浏览 36
已采纳

使用preg_replace时我得到双字符......?

When I use the following script, I get double characters. Why?

$clean_lastname = "Dür";
$clean_lastname = preg_replace("/[ùúûü]/", "u", $clean_lastname);
echo $clean_lastname;

Output: Duur

I want it to be Dur.

I am still doing something wrong... What's up with the 'putting one value of an array in the preg function?

$clean_lastname = "Boerée";
$l = 0;
$pattern = array('[ÀÁÂÃÄÅ]','[Ç]','[ÈÉÊË]','[ÌÍÎÏ]','[Ñ]','[ÒÓÔÕÖØ]','[Ý]','[ß]','[àáâãäå]','[ç]','[èéêë]','[ìíîï]','[ñ]','[òóôõöø]','[ùúûü]','[ýÿ]');
$replace = array(A,C,E,I,N,O,Y,S,a,c,e,i,n,o,u,y);

foreach ($pattern as $wierdchar)
{
    $clean_lastname = preg_replace('/$wierdchar/u', '$replace[$l]', $clean_lastname);
    $l++;
}

//$clean_lastname = preg_replace('/[èéêë]/u', 'e', $clean_lastname);

//$clean_lastname = strtr($clean_lastname, "ùúûü","uuuu");
echo $clean_lastname;
  • 写回答

4条回答 默认 最新

  • douyong8801 2010-12-16 16:45
    关注
    <?php
        $vowels = array("ù","ú","û","ü" );
        $consonents = array("u","u","u","u");
        $clean_lastname = "Dür";
        echo str_replace( $vowels, $consonents, $clean_lastname);
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 请回答用户的提问 11月28日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题