人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[PHP] preg_replaceでタブをエスケープしたもの「\\t」を空白に置換したいのですが、
うまく正規表現がくみたてられずにいます。どうすればよいのでしょうか?
当然ながらタブ「\t」はそのままで置換対象外としたいのです。

●質問者: piro_yamagoo
●カテゴリ:コンピュータ
✍キーワード:[php] エスケープ 正規表現
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● pahoo
●23ポイント

という要件でよければ、下記のスクリプトを参考にしてください。

$sour = "AAABBB\tCCC\t\tDDD\\\\t\\\\tEEE\t\\\\tFFF";
$dest = preg_replace("/(\\\).t/u", " ", $sour);
echo "SOUR=" . $sour . "\n";
echo "DEST=" . $dest . "\n";

参考サイト


2 ● kn1967a
●23ポイント

これで十分

str_replace("\\\\t", " ", $str);

http://q.hatena.ne.jp


3 ● sphire
●22ポイント

それはひょっとして strtr() とか str_replace() を使うべきではないでしょうか。

なんでもかんでも正規表現を使う必要はないのですよ。頭と道具は使い分けです。

http://jp2.php.net/strtr

$result = strtr($source, array('\\\\t', ' '));

http://jp2.php.net/str_replace

$result = str_replace('\\\\t', ' ', $source);

「preg_replaceで」という指定に反しているのでポイントは結構です。


4 ● y-kawaz
●22ポイント
<?php
//正規表現で書きたいならコレ
$str = preg_replace('/\\\\t/', ' ', $str);

//str_replaceの方が早いと思います
$str = str_replace("\\\\t", ' ', $str);

//\を文字として扱いたいならダブルクオートよりシングルクオートの方が楽です
$str = str_replace('\\t', ' ', $str);
?>

http://q.hatena.ne.jp/answer

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ