【发布时间】:2014-06-05 16:24:20
【问题描述】:
我有这个文本数组
$text = array( "T02" => array( 'EN' => 'English text for T02'),
"T03" => array( 'FR' => 'Texte anglais pour T03'));
$language = "FR";
$testtext = "Translated text: {#text['T03'][$language]}";
我在这里需要 # 因为我通过函数从数据库中获取此文本。
所以我需要用 $ 替换 de #
// This will work, but I need 'T03' and $language to be variable:
$output = str_replace("{#text['T03'][$language]}","{$text['T03'][$language]}",$testtext);
echo $output;
// This won't work:
$output = str_replace("#text","$text",$testtext);
echo $output; // I get ==> Translated text: {Array['T03'][FR]}
如何替换 "{#text['..var1..'][..var2..]}" ==> {$text[ '..var1..'][..var2..]} ?
【问题讨论】:
-
这是PHP代码吧?
-
我用
php替换了bash标签。 -
它不会那样工作,因为您使用的是双引号,所以
$testtext不是您在示例代码中创建的图像。请参阅 php.net/string 和 php.net/var_dump。如果您正在寻找字符串的搜索和替换功能,请查看字符串功能部分:php.net/strings
标签: php arrays wildcard str-replace