Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php替换字符串中的单词_Php - Fatal编程技术网

使用php替换字符串中的单词

使用php替换字符串中的单词,php,Php,我试图用php替换字符串中的单词。 在这里,我想用$replacearray数组中的“newprogram”和“testprogram”替换单词“testphp”和“javatest”。 注意:这里我需要使用$searchstring数组搜索字符串中的单词,如果找到匹配项,它应该替换为$replacearray 输出应为这是新程序和测试程序 这里,如果我的searchstring也包含数字,我想将其分解,并将数字和字符串分开,然后用分解的字符串替换$string。这里,我使用的分隔符是:in$s

我试图用php替换字符串中的单词。 在这里,我想用$replacearray数组中的“newprogram”和“testprogram”替换单词“testphp”和“javatest”。 注意:这里我需要使用$searchstring数组搜索字符串中的单词,如果找到匹配项,它应该替换为$replacearray

输出应为这是新程序和测试程序

这里,如果我的searchstring也包含数字,我想将其分解,并将数字和字符串分开,然后用分解的字符串替换$string。这里,我使用的分隔符是:in$searchstring

 <?php
 $string = "This is test php and java test";
 $searchstring = array('1:test php', '2:java test');
 $replacearray = array('test coding','test program');

 $replacearraycount = count($replacearray);
 $searchstringcount = count($searchstring);

 foreach ($searchstring as &$value) {
 $arrid = array();
 $arrname = array();
 foreach (explode(', ', $value) as $el) {
 $ret = explode(':', $el);
 $arrid[$ret[0]] = $ret[0];
 $arrname[$ret[0]] = $ret[1];
 }
 $valueid = $arrid;
 $name = $arrname;

 $finalsearchstring=array();
 array_push($finalsearchstring,$name);
 }

 for($i = 0; $i < $replacearraycount; $i++) {
 $string = preg_replace("/".$finalsearchstring[$i]."/", $replacearray[$i], $string, 1);
 }

 echo $string;
 ?>
这是我的密码

 <?php
 $string = "This is test php and java test";
 $searchstring = array('1:test php', '2:java test');
 $replacearray = array('new program', 'test program');

 $replacearraycount = count($replacearray);
 $searchstringcount = count($searchstring);

 for($i = 0; $i < $replacearraycount; $i++) {
     for($i = 0; $i < $searchstringcount; $i++) {
         $string = preg_replace("/".$searchstring[$i]."/", $replacearray[$i], $string, 1);
     }
 }

 echo $string;
 ?>

这就是我试图通过爆炸$searchstring来实现的

 <?php
 $string = "This is test php and java test";
 $searchstring = array('1:test php', '2:java test');
 $replacearray = array('test coding','test program');

 $replacearraycount = count($replacearray);
 $searchstringcount = count($searchstring);

 foreach ($searchstring as &$value) {
 $arrid = array();
 $arrname = array();
 foreach (explode(', ', $value) as $el) {
 $ret = explode(':', $el);
 $arrid[$ret[0]] = $ret[0];
 $arrname[$ret[0]] = $ret[1];
 }
 $valueid = $arrid;
 $name = $arrname;

 $finalsearchstring=array();
 array_push($finalsearchstring,$name);
 }

 for($i = 0; $i < $replacearraycount; $i++) {
 $string = preg_replace("/".$finalsearchstring[$i]."/", $replacearray[$i], $string, 1);
 }

 echo $string;
 ?>

如果我听你的问题,你需要一个循环而不是两个循环,你的数组索引应该是
$I
而不仅仅是
I
-

for($i = 0; $i < $replacearraycount; $i++) {
  $string = preg_replace("/".$searchstring[$i]."/", $replacearray[$i], $string, 1);
}
for($i=0;$i<$replacearraycount;$i++){
$string=preg_replace(“/”$searchstring[$i]。“/”,$replacearray[$i],$string,1);
}

如果我听你的问题,你需要一个循环而不是两个循环,你的数组索引应该是
$I
而不仅仅是
I
-

for($i = 0; $i < $replacearraycount; $i++) {
  $string = preg_replace("/".$searchstring[$i]."/", $replacearray[$i], $string, 1);
}
for($i=0;$i<$replacearraycount;$i++){
$string=preg_replace(“/”$searchstring[$i]。“/”,$replacearray[$i],$string,1);
}

如果我听你的问题,你需要一个循环而不是两个循环,你的数组索引应该是
$I
而不仅仅是
I
-

for($i = 0; $i < $replacearraycount; $i++) {
  $string = preg_replace("/".$searchstring[$i]."/", $replacearray[$i], $string, 1);
}
for($i=0;$i<$replacearraycount;$i++){
$string=preg_replace(“/”$searchstring[$i]。“/”,$replacearray[$i],$string,1);
}

如果我听你的问题,你需要一个循环而不是两个循环,你的数组索引应该是
$I
而不仅仅是
I
-

for($i = 0; $i < $replacearraycount; $i++) {
  $string = preg_replace("/".$searchstring[$i]."/", $replacearray[$i], $string, 1);
}
for($i=0;$i<$replacearraycount;$i++){
$string=preg_replace(“/”$searchstring[$i]。“/”,$replacearray[$i],$string,1);
}

对不起。我不明白。问题是什么?哦。您已经使用了
$searchstring[i]
$searchstring[i]
,而在这两种情况下,它应该是
$i
,而不仅仅是
i
。你的问题有错吗?对不起。我不明白。问题是什么?哦。您已经使用了
$searchstring[i]
$searchstring[i]
,而在这两种情况下,它应该是
$i
,而不仅仅是
i
。你的问题有错吗?对不起。我不明白。问题是什么?哦。您已经使用了
$searchstring[i]
$searchstring[i]
,而在这两种情况下,它应该是
$i
,而不仅仅是
i
。你的问题有错吗?对不起。我不明白。问题是什么?哦。您已经使用了
$searchstring[i]
$searchstring[i]
,而在这两种情况下,它应该是
$i
,而不仅仅是
i
。你的问题中有错吗?