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

回答編集履歴

5

追記

2016/04/18 10:02

投稿

orange0190
orange0190

スコア1698

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  preg_match_all('/<a.*target="_blank".*<\/a>/i', $the_content, $matches);
12
12
  foreach ($matches as $match){
13
13
  foreach ($match as $m){
14
- $the_content= str_replace($m, '<div>'.$m.'</div>', $the_content);
14
+ $the_content= str_replace($m, '<div id="hoge">'.$m.'</div>', $the_content);
15
15
  }
16
16
  }
17
17
  ```

4

修正

2016/04/18 10:02

投稿

orange0190
orange0190

スコア1698

answer CHANGED
@@ -2,4 +2,17 @@
2
2
  ```PHP
3
3
  $the_content = preg_replace('/^<a[\s\S]*target="_blank"[\s\S]*<\/a>$/i', '<div id="hoge">$1</div>', $the_content);
4
4
  ```
5
- 正規表現には正直自信はありませんが、一応[正規表現チェッカー](http://okumocchi.jp/php/re.php)ではマッチしました。
5
+ 正規表現には正直自信はありませんが、一応[正規表現チェッカー](http://okumocchi.jp/php/re.php)ではマッチしました。
6
+
7
+ 修正コード
8
+ ---
9
+ 上記コードでは全くダメだったので修正
10
+ ```PHP
11
+ preg_match_all('/<a.*target="_blank".*<\/a>/i', $the_content, $matches);
12
+ foreach ($matches as $match){
13
+ foreach ($match as $m){
14
+ $the_content= str_replace($m, '<div>'.$m.'</div>', $the_content);
15
+ }
16
+ }
17
+ ```
18
+ これでもまだ問題はありますが、一応置換はできるかと思います。

3

修正

2016/04/18 09:53

投稿

orange0190
orange0190

スコア1698

answer CHANGED
@@ -2,4 +2,4 @@
2
2
  ```PHP
3
3
  $the_content = preg_replace('/^<a[\s\S]*target="_blank"[\s\S]*<\/a>$/i', '<div id="hoge">$1</div>', $the_content);
4
4
  ```
5
- 正規表現には正直自はありませんが、一応[正規表現チェッカー](http://okumocchi.jp/php/re.php)ではマッチしました。
5
+ 正規表現には正直自はありませんが、一応[正規表現チェッカー](http://okumocchi.jp/php/re.php)ではマッチしました。

2

コードミスを修正

2016/04/18 09:29

投稿

orange0190
orange0190

スコア1698

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  次のようにしてみるといかがでしょうか?
2
2
  ```PHP
3
- $the_content = preg_replace('/^<a[\s\S]*target="_blank"[\s\S]*<\/a>$/', '<div id="hoge">$1</div>', $the_content);
3
+ $the_content = preg_replace('/^<a[\s\S]*target="_blank"[\s\S]*<\/a>$/i', '<div id="hoge">$1</div>', $the_content);
4
4
  ```
5
5
  正規表現には正直自身はありませんが、一応[正規表現チェッカー](http://okumocchi.jp/php/re.php)ではマッチしました。

1

コードミスを修正

2016/04/18 09:28

投稿

orange0190
orange0190

スコア1698

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  次のようにしてみるといかがでしょうか?
2
2
  ```PHP
3
- $the_content = preg_replace('/^<a[\s\S]*target="_blank"[\s\S]*\/>$/', '<div id="hoge">$1</div>', $the_content);
3
+ $the_content = preg_replace('/^<a[\s\S]*target="_blank"[\s\S]*<\/a>$/', '<div id="hoge">$1</div>', $the_content);
4
4
  ```
5
5
  正規表現には正直自身はありませんが、一応[正規表現チェッカー](http://okumocchi.jp/php/re.php)ではマッチしました。