[英]Send SMS to phone - php form removing ( ) and - from the phone number submitted
我有一個在網上找到的腳本,該腳本試圖獲取10位數字的電話號碼,然后添加移動服務提供商以將電子郵件發送到SMS。
有用。 但...
我的前端表單是自動輸入“(”,“)”和“-” 括號和破折號 ,使其看起來更像電話號碼。 php腳本無法正常工作,因為您必須發送沒有任何內容的電子郵件,只有0、1、2、3、4、5、6、7、8、9可以正常工作。
您可以在此處看到前端表單。 通過單擊“發送到電話”, http://busetopizza.com/demo/index.php
您注意到它將發送(516)-233-2333作為提交。
我需要幫助重寫代碼以去除字符,然后將其重新評估為某種形式,以便它將作為5162332333發送。
隨附的是php代碼。可以這樣做嗎?
<?php
if (!isset($_POST['submit'])){error("Must use form to get here!");}
$ph = $_POST['10digit'];
$carrier = $_POST['carrier'];
switch ($carrier){
case 'att':
$to = $ph . '@txt.att.net';
break;
case 'metropcs':
$to = $ph . '@mymetropcs.com';
break;
case 'nextel':
$to = $ph . '@messaging.nextel.com';
break;
case 'sprint':
$to = $ph . '@messaging.sprintpcs.com';
break;
case 'tmobile':
$to = $ph . '@tmomail.net';
break;
case 'verizon':
$to = $ph . '@vtext.com';
break;
case 'virgin':
$to = $ph . '@vmobl.com';
break;
default:
error("No carrier selected, message not sent!");
}
$message = "http://www.busetopizza.com/";
$subject = "Send To Phone App";
$from = "admin@messtudios.com";
mail($to, $subject, $message, $from);
echo "Your message has been sent!";
exit();
function error($msg){
echo "An error has occurred: ".$msg;
exit();
}
?>
編輯以下行以使用正則表達式查找並替換輸入中的所有非數字字符。
$ph = preg_replace('/[^[:digit:]]/', '', $_POST['10digit']);
您可以使用正則表達式從輸入中刪除非數字數字。
$pattern = '/[^0-9]*/';
$ph = preg_replace($pattern,'', $_POST['10digit']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.