命名空间中如何实现全部单词替换
DataCleaner.inc.php:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php namespace DataCleaner; class Clean { function RemoveProfanity($text) { $badwords = array( "idiotic" => "shortsighted", "moronic" => "unreasonable", "insane" => "illogical" ); // Remove bad words foreach ($badwords as $key => $value) { if (strpos($text, $key) !== false) return str_replace($key, $value, $text); } } }?>
Library.inc.php:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php namespace Library; class Clean { function FilterTitle($text) { // Trim white space and capitalize first word return ucfirst(trim($text)); } }?>
index.php:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php include "DataCleaner.inc.php"; include "Library.inc.php"; $data = new DataCleaner\Clean(); $library = new Library\Clea<b>6本文来源gao@dai!ma.com搞$代^码!网7</b><pre>搞gaodaima代码
n(); $title = “the moronic sun also rises idiotic insane”; printf(“Title before filters: %s
“, $title); $title = $data->RemoveProfanity($title); printf(“Title after Data::Clean: %s
“, $title); $title = $library->FilterTitle($title); printf(“Title after Library::Clean: %s
“, $title);?>
输出:
Title before filters: the moronic sun also rises idiotic insane
Title after Data::Clean: the moronic sun also rises shortsighted insane
Title after Library::Clean: The moronic sun also rises shortsighted insane
怎么实现把所有的
“idiotic” => “shortsighted”,
“moronic” => “unreasonable”,
“insane” => “illogical”
这些词都替换成相应的单词??
——解决方案——————–
foreach ($badwords as $key => $value) {
if (strpos($text, $key) !== false)
return str_replace($key, $value, $text);
}
=================
修改为
return strtr($text, $badwords);