用 php 替换所有带有 X 或 x 的字母数字字符(区分大小写)
replace with php all alphanummeric chars with X or x (case sensitive)
我有以下变量:
$var1 = "23 Jan 2014";
$var2 = "Some Text Here - More Text is written here";
如何替换文本以使输出如下所示:
$var1 = "XX Xxx XXXX";
$var2 = "Xxxx Xxxx Xxxx - Xxxx Xxxx xx xxxxxx xxxx";
编辑:变量可以改变。我只是想用 X(大写字母)、x(小写字母)和 X(数字)替换任何变量中的所有 A-Za-z0-9。
使用双正则表达式 - 一个用于大写 + 数字,一个用于小写。像这样。
$var = preg_replace('/[A-Z0-9]/', 'X', $var);
$var = preg_replace('/[a-z]/', 'x', $var);
加强对 Hinz 的回应 :)
一枪 :
$res = preg_replace(array('#[A-Z0-9]#', '#[a-z]#'), array('X', 'x'), $src);
这是一个非正则表达式方法。不过,就我个人而言,我宁愿使用 reg-exp 方法。
<?php
$var1 = "23 Jan 2014";
echo convertStringToXX($var1);
$var2 = "Some Text Here - More Text is written here";
echo convertStringToXX($var2);
function convertStringToXX($input)
{
$output = '';
for($key = 0; $key < strlen($input); $key++)
{
$char = $input[$key];
$ord = ord($char);
if($ord >= 97 && $ord <= 122)
{
$output .= 'x';
}
elseif(($ord >= 65 && $ord <= 90) || ($ord >= 48 && $ord <= 57))
{
$output .= 'X';
}
else
{
$output .= $char;
}
}
return $output;
}
我有以下变量:
$var1 = "23 Jan 2014";
$var2 = "Some Text Here - More Text is written here";
如何替换文本以使输出如下所示:
$var1 = "XX Xxx XXXX";
$var2 = "Xxxx Xxxx Xxxx - Xxxx Xxxx xx xxxxxx xxxx";
编辑:变量可以改变。我只是想用 X(大写字母)、x(小写字母)和 X(数字)替换任何变量中的所有 A-Za-z0-9。
使用双正则表达式 - 一个用于大写 + 数字,一个用于小写。像这样。
$var = preg_replace('/[A-Z0-9]/', 'X', $var);
$var = preg_replace('/[a-z]/', 'x', $var);
加强对 Hinz 的回应 :)
一枪 :
$res = preg_replace(array('#[A-Z0-9]#', '#[a-z]#'), array('X', 'x'), $src);
这是一个非正则表达式方法。不过,就我个人而言,我宁愿使用 reg-exp 方法。
<?php
$var1 = "23 Jan 2014";
echo convertStringToXX($var1);
$var2 = "Some Text Here - More Text is written here";
echo convertStringToXX($var2);
function convertStringToXX($input)
{
$output = '';
for($key = 0; $key < strlen($input); $key++)
{
$char = $input[$key];
$ord = ord($char);
if($ord >= 97 && $ord <= 122)
{
$output .= 'x';
}
elseif(($ord >= 65 && $ord <= 90) || ($ord >= 48 && $ord <= 57))
{
$output .= 'X';
}
else
{
$output .= $char;
}
}
return $output;
}