Heim  >  Artikel  >  Backend-Entwicklung  >  命名空间中怎么实现全部单词替换

命名空间中怎么实现全部单词替换

WBOY
WBOYOriginal
2016-06-13 13:18:12836Durchsuche

命名空间中如何实现全部单词替换
DataCleaner.inc.php:

PHP code
<!--

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
<!--

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
<!--

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\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"
这些词都替换成相应的单词??

------解决方案--------------------
foreach ($badwords as $key => $value) {
if (strpos($text, $key) !== false)
return str_replace($key, $value, $text);
}
=================

修改为
return strtr($text, $badwords);
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn