<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>zip358.com:URLチェック</title> </head> <body> <?php preg_match("/.*php/", $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"],$url1); preg_match("/\?.*/", $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"],$url2); ?> <p><?=$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];?></p> <p><?=$url1[0];?></p> <p><?=$url2[0];?></p> </body> </html>
DEMO https://www.zip358.com/tool/url-chk.php
上記のコードを記述するとURLとパラメータを分ける事ができます。最初、正規表現の否定があるだと思っていたのですが調べているうちに正規表現には否定というものが存在しないみたいな事を書いている記事に行き着きました。おそらくPHPの正規表現には否定というものは無いのだと思います。よくよく考えてみると文字の中から文字を抽出する事が正規表現の目的ですので、否定がないのも何となく理解できます。ちなみに、仕事でこういう事を書かないといけない事がありました、その時は否定があるものだと思ってゴリゴリ試していたのですが、結局うまく行かず違う方法で対応しました。結構な駄目プリを魅せつけてしまったので結構凹みました。
話は変わって、昨日はブログをお休みしてました、その訳は法事とかそういう事がある日だったことです。自分は出席したわけではないのですが、そういう事がある日は何の報告もなくブログをお休みします。
追記:本日もそうだったみたいです( ゚д゚ )。
追記:正規表現の否定はPHPにもあります!!