ホームページ  >  記事  >  バックエンド開発  >  名前空間内のすべての単語を置き換える方法

名前空間内のすべての単語を置き換える方法

WBOY
WBOYオリジナル
2016-06-13 13:18:12834ブラウズ

名前空間内のすべての単語を置換する方法
DataCleaner.inc.php:

PHP コード
<!--

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 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 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);
?>




出力:
フィルター前のタイトル: 愚かな太陽も昇る、愚かな狂気
Data::Clean 後のタイトル: 愚かな太陽も近視の狂気として昇る
Library::Clean 後のタイトル: 愚かな太陽も近視の狂気として昇る


すべてを達成する方法
「愚か者」 => 「近視眼的」、
「愚か者」 => 「不合理」、
「非常識」 => 「非論理的」
これらの単語を対応する単語に置き換えますか? ?

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


return strtr($text, $badwords)
に変更されました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。