回答編集履歴

2

追記

2018/03/12 05:53

投稿

yambejp
yambejp

スコア114845

test CHANGED
@@ -1,4 +1,4 @@
1
- たとえばaaa0x09bbbを → aaa\tbbb にとしても
1
+ たとえばaaa0x09bbbを → aaa\tbbb にしたとしても
2
2
 
3
3
  その中身を確認するときには「aaaタブbbb」でしか確認できないので
4
4
 
@@ -29,3 +29,39 @@
29
29
  print str_replace($from,$to,$str);
30
30
 
31
31
  ```
32
+
33
+ # 追記
34
+
35
+ 制御文字に変更するだけならこう
36
+
37
+
38
+
39
+ ```PHP
40
+
41
+ /* 制御文字に変換 */
42
+
43
+ $str="a%aa\x09bbb\x09ccc
44
+
45
+ ddd";
46
+
47
+ $str=preg_replace('/%(..)/','&#x$1;',rawurlencode($str));
48
+
49
+ $str=str_replace('%','%',$str);
50
+
51
+ print $str;
52
+
53
+
54
+
55
+ /* 可視化 */
56
+
57
+ $str="a%aa\x09bbb\x09ccc
58
+
59
+ ddd";
60
+
61
+ $str=preg_replace('/%(..)/','&#x$1;',rawurlencode($str));
62
+
63
+ $str=str_replace('%','%',$str);
64
+
65
+
66
+
67
+ ```

1

sample

2018/03/12 05:53

投稿

yambejp
yambejp

スコア114845

test CHANGED
@@ -7,3 +7,25 @@
7
7
  「\t」という文字列を表示するなら「\t」に切り替えるのでしょうか?
8
8
 
9
9
  そうなると愚直にstr_replaceで変換表を作るのが妥当です
10
+
11
+
12
+
13
+ # sample
14
+
15
+ 念のため
16
+
17
+ ```PHP
18
+
19
+ $from=["\t","\n"];
20
+
21
+ $to=["\t","\n"];
22
+
23
+ $str="aaa\x09bbb\x09ccc
24
+
25
+ ddd";
26
+
27
+
28
+
29
+ print str_replace($from,$to,$str);
30
+
31
+ ```