2012-12-14 209 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 ..這個代碼工作完美。 ..太辛苦了......你們都爲即將到來的編碼者做了很大的幫助...... –