我的php文件
这是我从数据库中检索数据的代码。
这里我需要根据第一个表达式(+)删除前三个字符,然后是两个数字,即(91)。所以我需要删除数据库中包含+91的电话号码。 任何人都可以帮我这个。
<?php
session_start();
$response = array();
$con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect');
if(!mysqli_connect_errno()){
$error_flag = false;
$contacts = json_decode($_POST['contacts'], true);
foreach($contacts as $contact){
//$trimmed = $contact['phone'];
//$title = str_replace("+91", "", trim($trimmed));
// $prefix = '+91';
// $str = $contact['phone'];
// if (substr($str, 0, strlen($prefix)) == $prefix)
// { echo $str = substr($str, strlen($prefix)); }
$sql = "INSERT INTO contacts (vault_no , name, phone, created_at)
VALUES ('".$contact['vault_no']."', '".$contact['name']."', REPLACE('".$contact['phone']."','+91',''), NOW())";
if(mysqli_query($con,$sql)){
echo "Successfully Saved";
}else{
$response["error"] = true;
$response["error_msg"] = "INSERT operation failed";
echo json_encode($response);
}
//}
}
}else{
$response["error"] = true;
$response["error_msg"] = "Database connection failed";
echo json_encode($response);
}
?>
答案 0 :(得分:2)
您只需使用REPLACE()
:
SELECT REPLACE(t.mobile,'+91','') as mobile
FROM YourTable t
或者如果您想在数据库中更改它:
UPDATE YourTable t
SET t.mobile = REPLACE(t.mobile,'+91','')
答案 1 :(得分:1)
使用substr()
$prefix = '+91';
$str = '+912345678765';// pass your mobile number here
if (substr($str, 0, strlen($prefix)) == $prefix) {
echo $str = substr($str, strlen($prefix));
}
答案 2 :(得分:1)
试试这个
$code = "+919000044440";
$number = preg_replace("/[^0-9]/","",$code);
$phone_number = substr($number,2);
echo $phone_number;
答案 3 :(得分:1)
PHP str_replace()
适合您...
<?php
$remove = '+91';
$phone_numbers = ['+919876543210','1234567890','+911234657899'];
foreach($phone_numbers as $number)
{
echo str_replace($remove,'',$number)."\n";
}
?>
这将输出:
9876543210
1234567890
1234657899
<强> LIVE EXAMPLE 强>