2012-12-14 180 views
-1

可能重复:
how to replace special characters with the ones they’re based on in PHP?取代普通字符特殊字符

下面是示例代码:

$code="CSC113α";//other codes PHY123β,MAT324δ 

    ////return last character of the code 
    $lastchar=substr($code, -1); 

    // returns rest code without last character.. 
    $rest = substr($code, 0, -1); 

    //Make standard course_ID with a,ß.. 
    switch ($lastchar) 
    { 
    case 'α':{ 
     $lastchar='A'; 
     $id=$rest.$lastchar ; 
     $full_course_id=$id; 
     break; 
    } 
    case 'β':{ 
     $lastchar='B'; 
     $id=$rest.$lastchar ; 
     $full_course_id=$id; 
     break; 
    } 
    case 'δ':{ 
     $lastchar='D'; 
     $id=$rest.$lastchar ; 
     $full_course_id=$id; 
     break; 
    } 
    default: 
     $full_course_id=$code; 
    } 

在这里,我试图取代α,β, δ与A,B,D ...此代码不工作..这里的变量代码值来自另一个特殊字符的脚本..在这里,我想用普通字符替换这些字符..我想像'CSC113A'那样得到最终输出...但是这个开关代码对我来说不起作用...请帮助我这么做...... thxx先进。 ...

+1

如何比较单个字符与像'α'这样的字符串? –

+0

您的案例不会匹配'$ lastchar',因为它是单个字符,而不是。 – dnagirl

+0

@jack:α= α这就是为什么把它存在..... becoz使用α的情况下代码仍然无法工作.... –

回答

1

为什么不简单地使用函数str_replace?我已经做了一个测试,它适用于我!

<?php 
$code="CSC113α"; 
$full_course_id = str_replace(array('α','β', 'δ'), array('A', 'B', 'D'), $code); 
+0

是frnd ..这个代码工作完美。 ..太辛苦了......你们都为即将到来的编码者做了很大的帮助...... –