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 回答