PHP用数组中的值替换字符串
作者:互联网
我有一个字符串,如:
Hello <%First Name%> <%Last Name%> welcome
我有一个数组
[0] => Array
(
[First Name] => John
[Last Name] => Smith
)
我需要做的是获取字符串并将<%中的单词替换为数组中的实际文本 所以我的输出将是
Hello John Smith welcome
我不知道如何实现这一目标,但我似乎无法用常规文本替换它
$test = str_replace("<%.*%>","test",$textData['text']);
对不起,我应该提到数组键可能与<%First Name%>一样.
所以它甚至可能是<%city%>并且数组可以是city =>纽约
解决方法:
你能试试吗
$string ="Hello <%First Name%> <%Last Name%> welcome";
preg_match_all('~<%(.*?)%>~s',$string,$datas);
$Array = array('0' => array ('First Name' => 'John', 'Last Name' => 'Smith' ));
$Html =$string;
foreach($datas[1] as $value){
$Html =str_replace($value, $Array[0][$value], $Html);
}
echo str_replace(array("<%","%>"),'',$Html);
标签:php,regex,preg-replace,preg-match,str-replace 来源: https://codeday.me/bug/20190712/1437907.html