1

オンラインで見つけたスクリプトがあります。これは、10 桁の電話番号を取得してから、モバイル プロバイダーを追加して SMS にメールを送信しようとするものです。

できます。しかし...

私のフロント エンド フォームは、「(」、「)」、「-」の括弧ダッシュを自動的に入力して、電話番号のように見せています。0,1,2,3,4,5,6,7,8,9のみが機能するため、phpスクリプトは機能しません。これは、メールを送信する必要がないためです。

ここでフロントエンドのフォームを見ることができます。 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();
}
?>
4

2 に答える 2

3

次の行を編集して、正規表現を使用して、入力内の数字以外のすべての文字を検索して置換します。

$ph = preg_replace('/[^[:digit:]]/', '', $_POST['10digit']);
于 2012-06-05T18:44:31.307 に答える
2

正規表現を使用して、入力から数値以外の数字を削除できます。

$pattern = '/[^0-9]*/';
$ph =  preg_replace($pattern,'', $_POST['10digit']);
于 2012-06-05T18:44:07.553 に答える