簡體   English   中英

PHP:字符串到完整ASCII

[英]PHP: String to full ASCII

我使用的是RTF轉換器,我需要240作為&#U050&#U052&#U048但是我不確定如何做到這一點!

我嘗試使用以下功能:

function string_to_ascii($string) {
    $ascii = NULL;
    for ($i = 0; $i < strlen($string); $i++) {
            $ascii += "&#U"+str_pad(ord($string[$i]),3,"0",STR_PAD_LEFT);
    }
    return($ascii);
}

但是它仍然只輸出數字(例如2 = 50 ),而ord只會使它發瘋。

我試過了echo "-&#U"+ord("2")+"-"; 我得到50416 !?!?

我覺得它可能與編碼有關

我認為您已經考慮過了。 字符串轉換為與陣列str_split地圖 ord所有的話,那么如果你想每一個,使用格式化sprintf (或str_pad如果你喜歡),就像這樣:

function string_to_ascii($string) {
    $array = array_map( 'ord', str_split( $string));
    // Optional formatting:
    foreach( $array as $k => &$v) {
        $v = sprintf( "%03d", $v);
    }
    return "&#U" . implode( "&#U", $array);
}

現在,當您傳遞string_to_ascii( '240') ,您將返回string(18) "&#U050&#U052&#U048"

剛發現這個:

function to_ascii($string) {
    $ascii_string = '';
    foreach (str_split($string) as $char) {
        $ascii_string .= '&#' . ord($char) . ';';
    }
    return $ascii_string;
}

這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM