teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

試したこと2を追加

2020/01/11 10:02

投稿

ayala
ayala

スコア6

title CHANGED
File without changes
body CHANGED
@@ -62,26 +62,25 @@
62
62
  ### 試したこと
63
63
  「投稿の編集」「ビジュアルタブ」にショートコードを
64
64
 
65
- [extraction_test html='' start='' end='']
65
+ `[extraction_test html='' start='' end='']`
66
66
 
67
67
  という形で記載します。
68
68
  例として実際に記載した内容が以下の通りになります。
69
69
 
70
- [extraction_test html='https://www.yahoo.co.jp/' start='<tr><td>・<a href' end='<tbody><tr>']
70
+ `[extraction_test html='https://www.yahoo.co.jp/' start='<tr><td>・<a href' end='<tbody><tr>']`
71
71
 
72
72
  こう記載すると、何も標示されません。
73
73
 
74
- echo $atts[start];
74
+ `echo $atts[start];`
75
75
 
76
- echo $start_leng;
76
+ `echo $start_leng;`
77
-
78
- をプラグインに書き加えると、<tr><td>・<a hrefと表示されるので
77
+ をプラグインに書き加えると、`<tr><td>・<a href`と表示されるので
79
78
  ショートコードで指定した内容は渡っているようなのですが、何が問題なのでしょうか。
80
79
 
81
80
  以下のように、ショートコードで「URL」「抽出したい文字列の始まり」「抽出したい文字列の終わり」を指定せず、プラグイン内で指定すると
82
81
  きちんと表示されます。
83
82
 
84
- [extraction_test]
83
+ `[extraction_test]`
85
84
 
86
85
  以下がプラグイン内の記述です。
87
86
  #####きちんと表示されるソースコード
@@ -126,6 +125,33 @@
126
125
 
127
126
  ```
128
127
 
128
+ ### 試したこと2
129
+ var_dumpで以下の物を試しました。
130
+
131
+ ```PHP
132
+ var_dump($atts['start']);
133
+ var_dump($start_leng);
134
+ var_dump($start);
135
+ ```
136
+
137
+ 結果は
138
+ `string(33) "<tr><td>・<a href"`
139
+ `string(33) "<tr><td>・<a href"`
140
+ `bool(false)`
141
+
142
+ となりました。
143
+ ショートコードで指定した値は渡っているようなのですが
144
+ mb_strpos を通るところで駄目になっていると思うのですがいかがでしょう。
145
+
146
+ 試しに
147
+ `$start = mb_strpos($json,$start_leng);`
148
+ ではなく
149
+ `$start = mb_strpos($json,"<tr><td>・<a href");`
150
+ と直接、検索文字を指定し
151
+ `var_dump($start);`
152
+ を試した所
153
+ `int(7070)`
154
+ 表示されました。
129
155
  ### 補足情報(FW/ツールのバージョンなど)
130
156
 
131
157
  WordPress 5.3.2 (Twenty Nineteen テーマ)