编程语言
首页 > 编程语言> > PHP用数组中的值替换字符串

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