我正在尝试创建一个执行几个不同替换规则的变量..例如,如果变量名称带有空格,我用连字符替换它。如果它包含&符号,则将其从字符串中删除。现在我有这个:
$reg_ex_space = "[[:space:]]";
$replace_space_with = "-";
$reg_ex_amper = "[&]";
$replace_amper_with = "";
$manLink1 = ereg_replace ($reg_ex_amper, $replace_amper_with, $manName);
$manLink2 = ereg_replace ($reg_ex_space, $replace_space_with, $manLink1);
当我用有&符号的东西回应manLink2时,请说汤姆&杰里,它将归还汤姆 - 杰瑞。
有人可以解释一种更有效/更有效的方式来写这个吗?
答案 0 :(得分:1)
这会将&
替换为空白字符串(将其删除)并将空格转换为-
。
然后它会将多个-
压缩为一个。
$str = str_replace(array('&', ' '), array('', '-'), $str);
$str = preg_replace('/-{2,}/', '-', $str);