3 개의 다른 값에 대해 동일한 코드를 재현해야하는 필요를 피하기 위해이 코드를 어떻게 단순화 할 수 있습니까? 예를 들어, 현재 코드에서 3 개의 URL 주소를 구문 분석하여 올바른 목적지로 연결되도록하여 사람들이 다양한 미친 URL 주소를 설정하지 않도록합니다. 하지만 앞으로는 더 많은 소셜 미디어 URL로 확장 될 것이며 코드를 반복해서 반복하는 것이 지루할 것입니다. 시간 내 줘서 고마워! 예를 foreach
에 대한PHP 간단 코드
if(isset($_POST['submit'])){
$facebook = strtolower($_POST['facebook']);
$twitter = strtolower($_POST['twitter']);
$youtube = strtolower($_POST['youtube']);
$fb_exp = explode("facebook.com", $facebook);
$tw_exp = explode("twitter.com", $twitter);
$yt_exp = explode("youtube.com", $youtube);
if(($fb_exp[0] == 'http://' || $fb_exp[0] == 'http://www.' || $fb_exp[0] == 'https://' || $fb_exp[0] == 'https://www.' || $fb_exp[0] == '') && $facebook != ''){
$facebook = 'https://www.facebook.com'.$fb_exp[1];
$fb = 1;
}elseif($facebook == ''){
$facebook = '';
$fb = 1;
}else{
echo 'Not a Valid Facebook Page !';
}
if(($tw_exp[0] == 'http://' || $tw_exp[0] == 'http://www.' || $tw_exp[0] == 'https://' || $tw_exp[0] == 'https://www.' || $tw_exp[0] == '') && $twitter != ''){
$twitter = 'https://www.twitter.com'.$tw_exp[1];
$tw = 1;
}elseif($twitter == ''){
$twitter = '';
$tw = 1;
}else{
echo 'Not a Valid Twutter Page !';
}
if(($yt_exp[0] == 'http://' || $yt_exp[0] == 'http://www.' || $yt_exp[0] == 'https://' || $yt_exp[0] == 'https://www.' || $yt_exp[0] == '') && $youtube != ''){
$youtube = 'https://www.youtube.com'.$yt_exp[1];
$yt = 1;
}elseif($youtube == ''){
$youtube = '';
$yt = 1;
}else{
echo 'Not a Valid YouTube Page !';
}
if($fb == 1 && $tw == 1 && $yt == 1){
$text= '<?php $title="'.$_POST['title'].'";
$subtitle="'.$_POST['subtitle'].'";
$email="'.$_POST['email'].'";
$tel="'.$_POST['tel'].'";
$add="'.$_POST['add'].'";
$facebook="'.$facebook.'";
$twitter="'.$twitter.'";
$youtube="'.$youtube.'";
';
$fp = fopen('text.ini','w');
fwrite($fp,$text);
fclose($fp);
header('Location: http://somesite.com/index.php');
}
}
함수를 작성한 다음 url 주소를 매개 변수로 전달하십시오. 따라서 url 주소를 파싱 할 필요가있을 때마다 함수를 호출하면됩니다. – Jixone