
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
既に他の回答にあるように, 半角スペースを削除した文字列を別に作って
・削除した文字列を使って「禁止語句など」のチェックを行う
・「禁止語句など」がなければ, 以降の処理では削除する前の文字列を使う
のが簡単かと. 「禁止語句などをチェックする」サブルーチンを作ってやればよいでしょう.
ただ, 動作検証をするまでもなくそれが「Perl」で動くとは思えないんですが>#2.
No.2
- 回答日時:
以下のようなのはいかがでしょう。
元の状態に戻す・・・というか、$str は加工されないので以降も元の状態で使えます。
禁止ワードは複数個あるでしょうし、区切り文字も半角スペースだけ考慮すればよい
わけではないでしょうのでそれぞれ複数指定できるように。
※動作検証はしていませんが概ねこんな感じ、ということで・・・。
$error = checkKinshiWord($str);
if($error){
echo 「".$error."」と投稿することはできません。";
}else{
echo "禁止文字列は含まれません。";
}
// $str は元の状態のままです
echo $str;
function checkKinshiWord($str){
// 禁止ワードの配列
$kinshi = array("あい", "うえお", "かきくけこ");
// 区切り文字の配列
$sep = array(" ", " ", ",", "・");
// 検出された禁止ワード
$error = array();
// 区切り文字を削除した文字列
$doc = str_replace($sep, $str);
foreach($kinshi as $k => $v){
// $doc 中に $v があるかどうかのチェック処理
// あれば
if(){
$error[] = $v;
}
}
return implode(', ', $error);
}
No.1
- 回答日時:
if( $str=~/バ[\s ]*カ/ ){
バとカの間に、半角もしくは全角スペースが0文字以上ある場合に真。
0文字以上なので、スペース無しでも引っ掛かる。
スペースを消してしまうと復元出来ませんから、上記みたいに入ったままでチェックするか、削除用変数にコピーしてコピーしたものに対してスペース削除を行い、投稿可能であれば、コピー元の文字列を投稿文字列として使うしかないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
Excelについて質問です。 セル...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
カンマ区切りでないテキストをc...
-
エクセル 区切り位置 スペー...
-
データにカンマが入ったCSVデー...
-
CSVの定義
-
エクセルの区切り位置の設定方法
-
エクセルにペーストする際にカ...
-
[.NET2.0] メニューに区切り線
-
WORDで改ページすると時々グレ...
-
【ドイツ人に質問です パート2...
-
テキストファイルからReadLine...
-
(エクセル)特定のスペースを...
-
perl cgiにて作成したtextarea...
-
カンマ区切りの数字をCSVフ...
-
C言語 文字列格納
-
ACCESSの表で罫線を使うと縦方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
Excelについて質問です。 セル...
-
CSVの定義
-
EXCELからCSVにすると余計なカ...
-
WORDで改ページすると時々グレ...
-
マクロを使ってフォルダー内に...
-
[VBA][Excel]クリップボードか...
-
データにカンマが入ったCSVデー...
-
カンマ区切りの数字をCSVフ...
-
エクセルにペーストする際にカ...
-
エクセル:桁区切り「カンマ」...
-
【VBA】エクセルで値のみクリッ...
-
C#でcsvファイルの列を入れ替え...
-
C#で、テキストボックスの入力...
-
ひとつの命令を複数行に記述
-
エクセルの区切り位置の設定方法
-
3桁ごと?4桁ごと?コンマの...
-
Excel 住所の分割(文字数制限...
-
データグリッド内の数値をカン...
おすすめ情報