是否可以缩小preg_replace和str_replace

时间:2014-04-28 11:31:54

标签: php

是否可以用更少的代码行使这更加平滑,因为我必须为每个需要插入的新框重复它。

$fil_namn = str_replace("5FSE_", "", $fil_url);
$fil_namn = str_replace(".pdf", "", $fil_namn);
$fil_namn = str_replace(".docx", "", $fil_namn);
$fil_namn = str_replace(".doc", "", $fil_namn);
$fil_namn = preg_replace("[_]",". ",$fil_namn);
$fil_namn = preg_replace('/^[0-9]+\. +/','', $fil_namn);
$fil_namn = preg_replace ("[AaA]","å",$fil_namn);
$fil_namn = preg_replace ("[AeA]","ä",$fil_namn);
$fil_namn = preg_replace ("[OoO]","ö",$fil_namn);
$fil_namn = preg_replace ("[aAa]","Å",$fil_namn);
$fil_namn = preg_replace ("[aEa]","Ä",$fil_namn);
$fil_namn = preg_replace ("[oOo]","ö",$fil_namn);
$fil_namn= str_replace("."," ", $fil_namn);

1 个答案:

答案 0 :(得分:1)

你可以用这个:

str_replace(array('5FSE_', '.pdf', '.docx', '.doc'), '', $fill_namn);

str_replace允许使用数组。

你也可以这样做:

$string = "Hello";

echo str_replace(array("H", "e", "l", "o"), array("A", "l", "e", "x"), $string);

这将打印出Aeeex

另一种方法是使用strtr()函数:

$string = "[AaA][AeA][OoO][aAa][aEa][oOo]";

$find = array("[AaA]", "[AeA]", "[OoO]", "[aAa]", "[aEa]", "[oOo]");
$replace = array("å", "ä", "ö", "Å", "Ä", "ö");

echo strtr($string, array_combine($find, $replace));

这回响了:

åäöÅÄö