簡體   English   中英

如果鍵來自php中preg_replace中的正則表達式,如何引用鍵->值

[英]how reference a key-> value if a key is from a regular expression in preg_replace in php

具有此數組:

$arr['id']=150;
$arr['contenido']="un proyecto";
$arr['foto']="una foto";

這個很好

$text = 'estamos en el registro {id} cuyo contenido es {contenido} por lo que veremos su {foto}';
$text = preg_replace('/{(.*?)}/', '$1', $text);
echo $text;

//print:
//estamos en el registro id cuyo contenido es contenido por lo que veremos su foto

我知道$ 1是{和}括起來的值,但我需要替換為與鍵匹配的array的值。 我嘗試這個

$text2 ='estamos en el registro {id} cuyo contenido es {contenido} por lo que veremos su {foto}';

$text2 = preg_replace('/{(.*?)}/', $arr['$1'], $text2);
echo $text2;

//print
estamos en el registro  cuyo contenido es  por lo que veremos su 

但這在{key}的位置上沒有任何顯示,我如何隱含鍵yn {}引用的數組值。

preg_replace_callback(
    '/{(.*?)}/',
    function (array $m) use ($arr) { return $arr[$m[1]]; },
    $text2
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM