質問編集履歴

2

追記

2020/07/30 20:25

投稿

gongitune3
gongitune3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,13 @@
8
8
 
9
9
  という否定的な正規表現を実現したいです。
10
10
 
11
+
12
+
11
- (こパターンは➁でのみ一致判定したいためです)
13
+ そしてそ正規表現によって
14
+
15
+
16
+
17
+ 「https://www.example.com/【widget以外】/【iframe以外】/」を`➀に一致`としたいです。
12
18
 
13
19
 
14
20
 
@@ -46,11 +52,11 @@
46
52
 
47
53
  if ( preg_match( '{\Ahttps?://(www.)?example.com/(?!.*(/|widget)).*/(?!.*(/|iframe)).*}', $url ) ) {
48
54
 
49
- echo '➀のパターン';
55
+ echo '➀に一致';
50
56
 
51
57
  } elseif ( preg_match( '{\Ahttps?://(www.)?example.com/widget/iframe/??[^/]+feed=/(?P<name>[^/]+)/(?P<id>[^/]+)}', $url ) ) {
52
58
 
53
- echo '➁のパターン';
59
+ echo '➁に一致';
54
60
 
55
61
  } else {
56
62
 

1

試したことに追加

2020/07/30 20:25

投稿

gongitune3
gongitune3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -60,12 +60,14 @@
60
60
 
61
61
  ```
62
62
 
63
+ また、上記は「含まない」という表記ではないかと考えまして「一致しない」の意味をもつと思われる`^(文字列)`でも試みたのですが、こちらもうまくいきません。
64
+
63
- 改めまして、どのような書き方だと
65
+ ```php
66
+
67
+ if ( preg_match( '{\Ahttps?://(www.)?example.com/^(/|widget).+/^(/|iframe).+}', $url ) ) {
64
68
 
65
69
 
66
70
 
67
- 「`https://www.example.com/widget/iframe/`というパターンではない」
68
71
 
69
72
 
70
-
71
- と判定できるでしょうか?
73
+ ```