Php 替换第一个字符

Php 替换第一个字符,php,Php,我想检查文本框中的用户输入。如果第一个字符是零,它将被替换为+63。但它不应该替换字符串中的所有零。我在网站上搜索过,但大多数都是关于替换所有出现的内容。非常感谢 类似这样: if(oldStr.charAt(0) == "0") { newStr= oldStr.replace(oldStr.charAt(0), "+63"); } 顺便说一句,它的JS解决方案JavaScript解决方案 var str = "000123"; var foo = str.replace(/^0/,"

我想检查文本框中的用户输入。如果第一个字符是零,它将被替换为
+63
。但它不应该替换字符串中的所有零。我在网站上搜索过,但大多数都是关于替换所有出现的内容。非常感谢

类似这样:


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

顺便说一句,它的JS解决方案

JavaScript解决方案

var str = "000123";
var foo = str.replace(/^0/,"+63");
alert(foo);
$string = '000123';
$pattern = '/^0/';
$replacement = '+63';
echo preg_replace($pattern, $replacement, $string);
基本正则表达式

  • ^-匹配字符串的开头
  • 0-匹配数字0
PHP解决方案

var str = "000123";
var foo = str.replace(/^0/,"+63");
alert(foo);
$string = '000123';
$pattern = '/^0/';
$replacement = '+63';
echo preg_replace($pattern, $replacement, $string);

如果我正确理解了所有内容,那么这应该对您有用:

<input type="text" id="txt" value="0 is the score" />
请参见演示:


也可以在javascript和函数中看到。

类似的东西

var string = "0230234";

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

newString = "+63"+newString 

alert(newString); // +63230234
在PHP中:

<?php 
$ptn = "/^0/";  // Regex
$str = "01234"; //Your input, perhaps $_POST['textbox'] or whatever
$rpltxt = "+63";  // Replacement string
echo preg_replace($ptn, $rpltxt, $str);
?>
当然,您会希望验证输入和所有内容,但在提交后,您将以这种方式替换它

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

由于性能开销,如果可以的话,我建议在代码中避免使用正则表达式。在PHP中使用很容易,不需要正则表达式:

if($str[0] == "0"){
    $str = substr_replace($str,'+63',0,1);
}
1.首先检查第一位数字是否为零

 if (preg_match('/^0/', $numbers))
2.如果为零,则删除零并将所需数据与变量一起添加

$str=ltrim ($numbers, '0');
$mobile ='+63'.$str;
所以输出是,

          +6312345

我很抱歉。。我说的是php。。我放错了位置,等一下。PHP还是Javascript?你收到了一大堆关于JS的答案,因为这就是你最初的问题的目的。@roman哦,真的。。。。我想那是后来加上去的。。你认为还有那么多与JS相关的答案。。只是为了得到一个否决票…?你能不能补充一下,这是一个JS版本,我可以在它之后重新发行。
$str=ltrim ($numbers, '0');
$mobile ='+63'.$str;
          +6312345