DataCleaner.inc.php:<?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
namespace Library; class Clean {
function FilterTitle($text) {
// Trim white space and capitalize first word
return ucfirst(trim($text));
}
}
?>
index.php:<?php
include "DataCleaner.inc.php";
include "Library.inc.php";
$data = new DataCleaner\Clean();
$library = new Library\Clean();
$title = "the moronic sun also rises idiotic insane";
printf("Title before filters: %s<br />", $title);
$title = $data->RemoveProfanity($title);
printf("Title after Data::Clean: %s<br />", $title);
$title = $library->FilterTitle($title);
printf("Title after Library::Clean: %s<br />", $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"
这些词都替换成相应的单词??
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
namespace Library; class Clean {
function FilterTitle($text) {
// Trim white space and capitalize first word
return ucfirst(trim($text));
}
}
?>
index.php:<?php
include "DataCleaner.inc.php";
include "Library.inc.php";
$data = new DataCleaner\Clean();
$library = new Library\Clean();
$title = "the moronic sun also rises idiotic insane";
printf("Title before filters: %s<br />", $title);
$title = $data->RemoveProfanity($title);
printf("Title after Data::Clean: %s<br />", $title);
$title = $library->FilterTitle($title);
printf("Title after Library::Clean: %s<br />", $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"
这些词都替换成相应的单词??
if (strpos($text, $key) !== false)
return str_replace($key, $value, $text);
}
=================修改为
return strtr($text, $badwords);
不行,输出错误:
Title before filters: the moronic sun also rises idiotic insaneWarning: strstr(): needle is not a string or an integer in D:\xampp\htdocs\Project\DataCleaner.inc.php on line 16
Title after Data::Clean:
Title after Library::Clean: