Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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,打印:排列是正确的排列方式 想要:排列是正确的到达方式。尝试预替换。这里的1表示仅在第一个实例中匹配/string/搜索字符串 $needle = array("Arr","Arr:","Arrang"); $haystack = " Arr is the proper way of Arr."; echo str_replace($needle, "Arrangement", $haystack); 对数组使用preg\u replace替换为内爆和分隔符。分隔符\s |充当带有数组创建的正

打印:
排列是正确的排列方式


想要:
排列是正确的到达方式。
尝试
预替换
。这里的1表示仅在第一个实例中匹配
/string/
搜索字符串

$needle = array("Arr","Arr:","Arrang");
$haystack = " Arr is the proper way of Arr.";
echo str_replace($needle, "Arrangement", $haystack);

对数组使用
preg\u replace
替换为
内爆
和分隔符。分隔符
\s |
充当带有数组创建的正则表达式模式的
语句:

$haystack = "Arr is the proper way of Arr.";
echo preg_replace("/Arr/", "Arrangement", $haystack, 1);
结果

$needle = array("Arr","Arr:","Arrang");
$haystack = "Arr: is the proper way of Arr.";
echo preg_replace("/".implode("\s|",$needle)."\s/", "Arrangement ", $haystack, 1);

这甚至显示了排列是正确的排列方式
如何选择要替换的单词?如果
$haystack=“Arr是正确的排列方式:”,仍然输出显示排列是正确的排列方式。
@SubinThomas这就是正在寻找的,不是吗?需要
“Arr”,“Arr:”,“Arrang”
所有这些都被替换,我认为@richyp,所以我们只做一次,Arr首先被找到,而不是Arr:和Arrang。,因为它是一个较短的字符串。@Octopi:仍然需要澄清问题。不清楚他的需要。
Arrangement is the proper way of Arr.