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

回答編集履歴

1

ミス投稿で削除の仕方がわかりませんでした

2020/03/27 06:56

投稿

pocoto
pocoto

スコア5

answer CHANGED
@@ -1,33 +1,1 @@
1
- 正規表現置換してみました
1
+ ミス投稿削除の仕方がわかりせんでした
2
- クラスが存在するかしないかで置換方法をかえているのですが
3
- if分使わずに正規表現でできそうなきもするのですが・・
4
- 初心者のためもっとスマートな書き方がわかる方ご教授ください。
5
-
6
- ```php
7
- function wporg_block_wrapper( $block_content, $block ) {
8
- if ( $block['blockName'] === 'core/heading' ) {
9
- // クラスが元々あるかないかで判定
10
- if (preg_match("/class/", $block["innerHTML"])) {
11
- $content = preg_replace(
12
- '/<h2(.*?)class="(.*?)"(.*?)>(.*?)</h2>/',
13
- '<h2$1class="$2 designh2"$3><span>$4</span></h2>',
14
- $block_content);
15
- } else {
16
- $content = preg_replace(
17
- '/<h2(.*?)>(.*?)</h2>/',
18
- '<h2 class="designh2"$1><span>$2</span></h2>',
19
- $block_content);
20
- }
21
- return $content;
22
- }
23
- return $block_content;
24
- }
25
-
26
- add_filter( 'render_block', 'wporg_block_wrapper', 10, 2 );
27
- ```
28
-
29
-
30
- ```html
31
- <h2 class="testadmin designh2" id="anc01"><span>class and id h2</span></h2>
32
- <h2 class="designh2"><span>simple h2</span></h2>
33
- ```