回答編集履歴

2

回答の再訂正

2024/08/24 13:44

投稿

hiroki-o
hiroki-o

スコア1057

test CHANGED
@@ -25,3 +25,18 @@
25
25
  return filter_var($url, FILTER_VALIDATE_URL) && preg_match("/^(https?):/", $url);
26
26
  }
27
27
  ```
28
+
29
+ (訂正・その2)
30
+ otnさんの指摘により訂正します。
31
+
32
+ isValidURL関数に5行追加します。
33
+ ```
34
+ function isValidURL($url) {
35
+ $url = rawurlencode($url);
36
+ $url = str_replace("%3A", ":", $url);
37
+ $url = str_replace("%2F", "/", $url);
38
+ $url = str_replace("%3F", "?", $url);
39
+ $url = str_replace("%3D", "=", $url);
40
+ return filter_var($url, FILTER_VALIDATE_URL) && preg_match("/^(https?):/", $url);
41
+ }
42
+ ```

1

回答の訂正

2024/08/24 07:04

投稿

hiroki-o
hiroki-o

スコア1057

test CHANGED
@@ -12,3 +12,16 @@
12
12
 
13
13
  idn_to_ascii
14
14
  [https://www.php.net/manual/ja/function.idn-to-ascii.php](https://www.php.net/manual/ja/function.idn-to-ascii.php)
15
+
16
+ (訂正)
17
+ 最初の回答は、国際化ドメインと日本語URLを勘違いしていました。申し訳ございませんでした。
18
+
19
+ isValidURL関数に3行追加します。
20
+ ```
21
+ function isValidURL($url) {
22
+ $url = rawurlencode($url);
23
+ $url = str_replace("%3A", ":", $url);
24
+ $url = str_replace("%2F", "/", $url);
25
+ return filter_var($url, FILTER_VALIDATE_URL) && preg_match("/^(https?):/", $url);
26
+ }
27
+ ```