簡體   English   中英

發送短信到電話-php表單刪除()和-從提交的電話號碼中刪除-

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM