0

必要に応じて URL を追加し、不要な場合はスキップしようとしています。考えてみれば、私は今phpを学んでいて、できるだけ正規表現を使いたいと思っています。preg_match を使用してこのコードをより簡潔にすることは可能でしょうか? 例:

<?php
$facebook_url = str_replace("facebook.org","facebook.com", trim($_REQUEST['facebook_url']));

$position = strpos($facebook_url, "facebook.com");

if ($position === false) {
  $facebook_url = "http://www.facebook.com/" . $facebook_url;
}

?>

しかし、使用:

    if  (!preg_match("/^(http:///www.facebook.com | facebook.com)/i"), $facebook_url)) {
    $facebook_url = "http://www.facebook.com/" . $facebook_url;     
}

PHP 構文を理解しているように動作するはずですが、何かが正しく動作していません。前もって感謝します。

4

1 に答える 1

1

必要なだけではなく、「可能な限り」正規表現を使用したい理由がわかりません。これは非常に少ないはずです。あなたの場合、元のコードははるかに高速であり、より少ないコードで実行できます。

if (stripos($facebook_url, "facebook.com") === false) {

正規表現には、代替.comの の後または前にスペースが必要です。facebook正規表現ではスペースが重要です。

于 2013-04-11T14:26:57.173 に答える