我正在尝试在必要时附加一个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语法的方式一样,但有些东西不能正常工作。提前谢谢。
答案 0 :(得分:1)
我不知道你为什么要“尽可能”地使用正则表达式而不是需要使用正则表达式,这应该是非常少的。在您的情况下,原始代码要快得多,您仍然可以使用更少的代码来执行此操作:
if (stripos($facebook_url, "facebook.com") === false) {
您的正则表达式需要在.com
之后或更改facebook
之前的空格。空间在正则表达式中很重要。