PHP全角和半角字符怎么去掉
-
要去掉字符串中的全角和半角字符,可以使用PHP中的一些字符串处理函数和正则表达式来实现。
1. 去掉全角字符:
全角字符是指在Unicode字符集中编码值大于等于65281(0xFF01)的字符。可以使用正则表达式来匹配并移除全角字符。
“`php
function removeFullWidthCharacters($str) {
return preg_replace(‘/[^\x00-\xff]/’, ”, $str);
}$str = “Hello,World!”;
$result = removeFullWidthCharacters($str);
echo $result; // 输出 Hello, World!
“`2. 去掉半角字符:
半角字符是指在Unicode字符集中编码值大于等于33(0x21)且小于等于126(0x7E)的字符。可以使用正则表达式来匹配并移除半角字符。
“`php
function removeHalfWidthCharacters($str) {
return preg_replace(‘/[\x21-\x7E]/’, ”, $str);
}$str = “Hello, World!”;
$result = removeHalfWidthCharacters($str);
echo $result; // 输出 ,!
“`3. 同时去掉全角和半角字符:
如果需要同时去掉全角和半角字符,可以结合上述的正则表达式来实现。
“`php
function removeFullAndHalfWidthCharacters($str) {
$str = preg_replace(‘/[^\x00-\xff]/’, ”, $str); // 去掉全角字符
$str = preg_replace(‘/[\x21-\x7E]/’, ”, $str); // 去掉半角字符
return $str;
}$str = “Hello,World!Hello, World!”;
$result = removeFullAndHalfWidthCharacters($str);
echo $result; // 输出 Hello, World!
“`以上是一种基本的方法来去掉字符串中的全角和半角字符。根据具体的需求,可以根据实际情况进行调整和修改。
2年前 -
要去掉PHP字符串中的全角和半角字符,我们可以使用正则表达式或者使用内置的字符串函数来实现。下面是几种方法:
1. 使用正则表达式去掉全角和半角字符:
“`php
$str = “php全角和半角字符”;
$str = preg_replace(‘/[\x{FF01}-\x{FF5E}]/u’, ”, $str);
echo $str; // 输出:php全角和半角字符
“`这里使用了 Unicode 范围 [\x{FF01}-\x{FF5E}] 匹配全角字符,并使用 preg_replace() 函数将其替换为空字符串。
2. 使用mb_convert_kana()函数去掉全角和半角字符:
“`php
$str = “php全角和半角字符”;
$str = mb_convert_kana($str, “as”, “UTF-8”);
echo $str; // 输出:php全角和半角字符
“`mb_convert_kana() 函数可以将字符串的全角字符转换为半角字符。
3. 使用自定义函数去掉全角和半角字符:
“`php
function remove_fullwidth_characters($str) {
$fullwidth_chars = array(
‘0’ => ‘0’, ‘1’ => ‘1’, ‘2’ => ‘2’, ‘3’ => ‘3’, ‘4’ => ‘4’, ‘5’ => ‘5’, ‘6’ => ‘6’,
‘7’ => ‘7’, ‘8’ => ‘8’, ‘9’ => ‘9’, ‘A’ => ‘A’, ‘B’ => ‘B’, ‘C’ => ‘C’, ‘D’ => ‘D’,
‘E’ => ‘E’, ‘F’ => ‘F’, ‘G’ => ‘G’, ‘H’ => ‘H’, ‘I’ => ‘I’, ‘J’ => ‘J’, ‘K’ => ‘K’,
‘L’ => ‘L’, ‘M’ => ‘M’, ‘N’ => ‘N’, ‘O’ => ‘O’, ‘P’ => ‘P’, ‘Q’ => ‘Q’, ‘R’ => ‘R’,
‘S’ => ‘S’, ‘T’ => ‘T’, ‘U’ => ‘U’, ‘V’ => ‘V’, ‘W’ => ‘W’, ‘X’ => ‘X’, ‘Y’ => ‘Y’,
‘Z’ => ‘Z’, ‘a’ => ‘a’, ‘b’ => ‘b’, ‘c’ => ‘c’, ‘d’ => ‘d’, ‘e’ => ‘e’, ‘f’ => ‘f’,
‘g’ => ‘g’, ‘h’ => ‘h’, ‘i’ => ‘i’, ‘j’ => ‘j’, ‘k’ => ‘k’, ‘l’ => ‘l’, ‘m’ => ‘m’,
‘n’ => ‘n’, ‘o’ => ‘o’, ‘p’ => ‘p’, ‘q’ => ‘q’, ‘r’ => ‘r’, ‘s’ => ‘s’, ‘t’ => ‘t’,
‘u’ => ‘u’, ‘v’ => ‘v’, ‘w’ => ‘w’, ‘x’ => ‘x’, ‘y’ => ‘y’, ‘z’ => ‘z’,
‘ ’ => ‘ ‘, ‘!’ => ‘!’, ‘"’ => ‘”‘, ‘#’ => ‘#’, ‘$’ => ‘$’, ‘%’ => ‘%’, ‘&’ => ‘&’,
‘'’ => “‘”, ‘(’ => ‘(‘, ‘)’ => ‘)’, ‘*’ => ‘*’, ‘+’ => ‘+’, ‘,’ => ‘,’, ‘-’ => ‘-‘,
‘.’ => ‘.’, ‘/’ => ‘/’, ‘:’ => ‘:’, ‘;’ => ‘;’, ‘<’ => ‘<', '=' => ‘=’, ‘>’ => ‘>’,
‘?’ => ‘?’, ‘@’ => ‘@’, ‘[’ => ‘[‘, ‘\’ => ‘\\’, ‘]’ => ‘]’, ‘^’ => ‘^’, ‘_’ => ‘_’,
‘`’ => ‘`’, ‘{’ => ‘{‘, ‘|’ => ‘|’, ‘}’ => ‘}’, ‘~’ => ‘~’
);
return strtr($str, $fullwidth_chars);
}$str = “php全角和半角字符”;
$str = remove_fullwidth_characters($str);
echo $str; // 输出:php全角和半角字符
“`这个自定义函数使用了一个映射表,将全角字符替换为对应的半角字符。
4. 使用str_replace()函数去掉全角和半角字符:
“`php
function remove_fullwidth_characters($str) {
$search = array(‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’,
‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’,
‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’,
‘ ’, ‘!’, ‘"’, ‘#’, ‘$’, ‘%’, ‘&’, ‘'’, ‘(’, ‘)’, ‘*’, ‘+’, ‘,’, ‘-’, ‘.’, ‘/’, ‘:’, ‘;’, ‘<’, ‘=’, ‘>’, ‘?’, ‘@’, ‘[’, ‘\’, ‘]’, ‘^’, ‘_’, ‘`’, ‘{’, ‘|’, ‘}’, ‘~’
);
$replace = array(‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’,
‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’,
‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’,
‘ ‘, ‘!’, ‘”‘, ‘#’, ‘$’, ‘%’, ‘&’, “‘”, ‘(‘, ‘)’, ‘*’, ‘+’, ‘,’, ‘-‘, ‘.’, ‘/’, ‘:’, ‘;’, ‘<', '=', '>‘, ‘?’, ‘@’, ‘[‘, ‘\\’, ‘]’, ‘^’, ‘_’, ‘`’, ‘{‘, ‘|’, ‘}’, ‘~’
);
return str_replace($search, $replace, $str);
}$str = “php全角和半角字符”;
$str = remove_fullwidth_characters($str);
echo $str; // 输出:php全角和半角字符
“`这个函数使用了str_replace()函数将全角字符替换为对应的半角字符。
以上是四种去掉PHP字符串中的全角和半角字符的方法。根据实际需求选择合适的方法来处理字符串。
2年前 -
要去掉PHP中的全角和半角字符,可以通过以下几种方法和操作流程来实现。
一、使用PHP的内置函数处理字符
1. 使用mb_convert_kana函数
mb_convert_kana是一个多字节字符处理函数,可以将全角字符转换为半角字符,也可以将半角字符转换为全角字符。通过指定参数’K’可以将全角字符转换为半角字符,指定参数’n’可以将半角字符转换为全角字符。具体操作如下:
“`php
$str = ‘ABC123abc’; // 含有全角字符和半角字符的字符串// 将全角字符转换为半角字符
$halfwidthStr = mb_convert_kana($str, ‘K’, ‘UTF-8’);// 将半角字符转换为全角字符
$fullwidthStr = mb_convert_kana($str, ‘n’, ‘UTF-8’);
“`2. 使用preg_replace函数
preg_replace是一个正则表达式替换函数,可以使用正则表达式匹配并替换字符串中的字符。通过使用正则表达式来匹配全角或半角字符,然后进行替换即可。具体操作如下:
“`php
$str = ‘ABC123abc’; // 含有全角字符和半角字符的字符串// 替换全角字符为半角字符
$halfwidthStr = preg_replace(‘/[\x{FF01}-\x{FF5E}]/u’, ”, $str);// 替换半角字符为全角字符
$fullwidthStr = preg_replace(‘/[\x{0021}-\x{007E}]/u’, ”, $str);
“`二、使用正则表达式去掉字符
1. 去掉全角字符
如果只需要去掉全角字符,可以使用正则表达式匹配全角字符,并将其替换为空字符串。具体操作如下:
“`php
$str = ‘ABC123abc’; // 含有全角字符和半角字符的字符串// 去掉全角字符
$halfwidthStr = preg_replace(‘/[\x{FF01}-\x{FF5E}]/u’, ”, $str);
“`2. 去掉半角字符
如果只需要去掉半角字符,可以使用正则表达式匹配半角字符,并将其替换为空字符串。具体操作如下:
“`php
$str = ‘ABC123abc’; // 含有全角字符和半角字符的字符串// 去掉半角字符
$fullwidthStr = preg_replace(‘/[\x{0021}-\x{007E}]/u’, ”, $str);
“`三、使用strtr函数去掉字符
1. 去掉全角字符
可以使用strtr函数将字符串中的全角字符替换为空字符串。具体操作如下:
“`php
$str = ‘ABC123abc’; // 含有全角字符和半角字符的字符串// 去掉全角字符
$halfwidthStr = strtr($str, [
‘!’ => ”,
‘"’ => ”,
// … 其他全角字符依此类推
]);
“`2. 去掉半角字符
可以使用strtr函数将字符串中的半角字符替换为空字符串。具体操作如下:
“`php
$str = ‘ABC123abc’; // 含有全角字符和半角字符的字符串// 去掉半角字符
$fullwidthStr = strtr($str, [
‘!’ => ”,
‘”‘ => ”,
// … 其他半角字符依此类推
]);
“`以上就是去掉PHP中全角和半角字符的一些方法和操作流程,可以根据实际需求选择适合的方法来处理字符。
2年前