替换第一个字符PHP

时间:2012-03-05 04:45:03

标签: php

这是一个简单的问题所以我想要一个简单的答案。我想检查文本框中的用户输入..如果第一个字符是0(零),它将被替换为+63。但它不应该替换“字符串”中的所有零。我搜索过网站,但大部分是关于替换所有的事件。我希望得到一个简短的答案。非常感谢!

9 个答案:

答案 0 :(得分:9)

JavaScript解决方案

var str = "000123";
var foo = str.replace(/^0/,"+63");
alert(foo);

基本正则表达式

  • ^ - 匹配字符串的开头
  • 0 - 匹配数字

PHP解决方案

$string = '000123';
$pattern = '/^0/';
$replacement = '+63';
echo preg_replace($pattern, $replacement, $string);

答案 1 :(得分:8)

在PHP中:

<?php 
$ptn = "/^0/";  // Regex
$str = "01234"; //Your input, perhaps $_POST['textbox'] or whatever
$rpltxt = "+63";  // Replacement string
echo preg_replace($ptn, $rpltxt, $str);
?>

会回应:

+631234

当然,您需要验证输入和所有内容,但这就是在提交后如何替换它。

答案 2 :(得分:2)

这样的事情:


if(oldStr.charAt(0) == "0") {
  newStr= oldStr.replace(oldStr.charAt(0), "+63");
}

Btw的JS解决方案

答案 3 :(得分:0)

如果我理解了一切,这应该适合你:

<input type="text" id="txt" value="0 is the score" />

使用Javascript:

​var str = document.getElementById("txt").value;
if(str[0] === '0') {
 document.getElementById("txt").value = "63" + str.substring(1);
}

参见演示http://jsfiddle.net/rZ3vm/

另请参阅javascript中的string functionssubstring函数。

答案 4 :(得分:0)

var str = "000123";
var foo = str.charAt(0).replace("0","+63") + str.substr(1);
alert(foo);

答案 5 :(得分:0)

有点像这样......

var string = "0230234";

var newString = string.indexOf('0') == 0 ? string.substring(1) : string;

newString = "+63"+newString 

alert(newString); // +63230234

答案 6 :(得分:0)

str=(str.charAt(0)=='0')?(str.replace(str.charAt(0),"+63")):str;

check this

答案 7 :(得分:0)

如果由于性能开销,我建议在代码中避免使用Regex。如果没有正则表达式,很容易在PHP中

if($str[0] == "0"){
    $str = substr_replace($str,'+63',0,1);
}

答案 8 :(得分:0)

 $numbers='012345';

1.首先检查第一个数字是否为零,

 if (preg_match('/^0/', $numbers))

2.如果为零,则删除零并使用变量

添加所需数据
$str=ltrim ($numbers, '0');
$mobile ='+63'.$str;

所以输出将是,

          +6312345