重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先看简单的替换:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的阿荣网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
$str1 = "*3*"; //原字符串
$str2 = "abc"; //要添加的字符串
$str1 = str_replace("3",$str2."3",$str1); //字符串替换
echo $str1;
就是把3替换成abc3,但是这样有个前提:必须知道原始字符串里有个“3”,才可以替换,不然是无法替换的。
所以此时就需要用到另外一种方法:在指定位置添加字符串,例如:
?php
/**
* 指定位置插入字符串
* @param $str 原字符串
* @param $i 插入位置
* @param $substr 插入字符串
* @return string 处理后的字符串
*/
function insertToStr($str, $i, $substr){
//指定插入位置前的字符串
$startstr="";
for($j=0; $j$i; $j++){
$startstr .= $str[$j];
}
//指定插入位置后的字符串
$laststr="";
for ($j=$i; $jstrlen($str); $j++){
$laststr .= $str[$j];
}
//将插入位置前,要插入的,插入位置后三个字符串拼接起来
$str = $startstr . $substr . $laststr;
//返回结果
return $str;
}
//测试
$str="hello zhidao!";
$newStr=insertToStr($str, 6, "baidu");
echo $newStr;
//hello baiduzhidao!
?
测试说明:在第6个字符串位置插入新的字符串,并输出最终结果
//$str是原本的字符串 $i是插入点 $substr是插入内容
function str_insert($str, $i, $substr)
{
//通过遍历获取字符串的前半部分
for($j=0; $j$i; $j++){
$startstr .= $str[$j];
}
//通过遍历获取字符串的后半部分
for ($j=$i; $jstrlen($str); $j++){
$laststr .= $str[$j];
}
//字符串重新组装
$str = ($startstr . $substr . $laststr);
return $str;
}
插入示例,具体思路在代码中有注释:
?php
/**
* 指定位置插入字符串
* @param $str 原字符串
* @param $i 插入位置
* @param $substr 插入字符串
* @return string 处理后的字符串
*/
function insertToStr($str, $i, $substr){
//指定插入位置前的字符串
$startstr="";
for($j=0; $j$i; $j++){
$startstr .= $str[$j];
}
//指定插入位置后的字符串
$laststr="";
for ($j=$i; $jstrlen($str); $j++){
$laststr .= $str[$j];
}
//将插入位置前,要插入的,插入位置后三个字符串拼接起来
$str = $startstr . $substr . $laststr;
//返回结果
return $str;
}
//测试
$str="hello zhidao!";
$newStr=insertToStr($str, 6, "baidu");
echo $newStr;
//hello baiduzhidao!
?
以下是一个参考函数,
参数$str为,原始字符串,例如123456。
参数$i为,要插入的位置。
参数$substr为,要插入的字符串,例如hello。
返回值为最后结果,例如12345hello6
function str_insert($str, $i, $substr)
{
for($j=0; $j$i; $j++){
$startstr .= $str[$j];
}
for ($j=$i; $jstrlen($str); $j++){
$laststr .= $str[$j];
}
$str = ($startstr . $substr . $laststr);
return $str;
}