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

質問編集履歴

2

追記

2019/10/28 01:27

投稿

t.d.soukei
t.d.soukei

スコア52

title CHANGED
File without changes
body CHANGED
@@ -31,4 +31,17 @@
31
31
  $result = preg_replace('#</a> ([1-9]*)</li>#', '</a> $1</li>', $str);
32
32
  echo $result;
33
33
 
34
- ```
34
+ ```
35
+
36
+ 結果的な出力としては
37
+
38
+ ```PHP
39
+
40
+ <li class="cat-item cat-item-2"><a href="#">ca1</a> 2
41
+ </li>
42
+ <li class="cat-item cat-item-3"><a href="#">ca2</a> 1
43
+ </li>
44
+
45
+ ```
46
+
47
+ を期待していますが、現状のコードでは()が削除されずに変数strのまま出力されてしまいます。

1

追記

2019/10/28 01:27

投稿

t.d.soukei
t.d.soukei

スコア52

title CHANGED
File without changes
body CHANGED
@@ -16,4 +16,19 @@
16
16
  </a> $1</li>
17
17
  ```
18
18
 
19
- 教えていただけると幸いです。
19
+ 教えていただけると幸いです。
20
+
21
+ 現時点では正規表現に主眼を置いていきたいので以下のようなコードで試しています。
22
+ ```PHP
23
+
24
+ <?php
25
+ $str = <<<EOF
26
+ <li class="cat-item cat-item-2"><a href="#">ca1</a> (2)
27
+ </li>
28
+ <li class="cat-item cat-item-3"><a href="#">ca2</a> (1)
29
+ </li>
30
+ EOF;
31
+ $result = preg_replace('#</a> ([1-9]*)</li>#', '</a> $1</li>', $str);
32
+ echo $result;
33
+
34
+ ```