Php 如何转换<&书信电报;名称>&燃气轮机;至$name

Php 如何转换<&书信电报;名称>&燃气轮机;至$name,php,Php,我正在尝试将转换为$anyVar 它可以是到$name或到$age或到$address或这三者的组合。所以这可能是 $value = "<p>Hi this is &lt;&lt;name&gt;&gt; and I am living in &lt;&lt;address&gt;&gt;</p>"; $value=“您好,这是我的名字,我住在这个地址””; 虽然我有一个成功的方法与此代码 $value

我正在尝试将
转换为$anyVar

它可以是
到$name或
到$age或
到$address或这三者的组合。所以这可能是

$value = "<p>Hi this is &lt;&lt;name&gt;&gt; and I am living in &lt;&lt;address&gt;&gt;</p>";
$value=“您好,这是我的名字,我住在这个地址”

”;
虽然我有一个成功的方法与此代码

$value = "<p>Hi this is &lt;&lt;name&gt;&gt;</p>";
$value = htmlspecialchars_decode($value);//Hi this is <<name>>
$value = str_replace("<<","$",$value);//Hi this is $name>>
echo $value = str_replace(">>","",$value);//Hi this is $name
$value=“Hi这是名称”

”; $value=htmlspecialchars\u解码($value)//嗨,我是 $value=str_替换(“>”、“”、$value)//你好,我是$name
但当值位于htmlspecialchars_decode is
之后时,它将失败。为什么不这样做:

echo $value = str_replace("&lt;&lt;name&gt;&gt;", '$name', $value );
$value=“嗨,这是”

”; preg_match_all('/',$value,$links); 回声'; $$links[1][0]=$links[1][0]; echo$name; 回声“
”; $name='Changed name';
echo$name
您可以简单地使用
preg\u replace
如下

echo str_replace(array("&lt;&lt;","&gt;&gt;"),array("$",""),$your_string);
或者您也可以简单地使用
str\u replace
,就像

$value = "<p>Hi this is &lt;&lt;name&gt;&gt;</p>";
$htmlentites = array("&lt;&lt;","&gt;&gt;");
$desireInput   = array("$", "");
$value = str_replace($htmlentites,$desireInput,$value);
由于您可以在
str\u replace
中使用数组,您只需将值替换为特定值即可。 最好使用
str\u replace
而不是
preg\u replace
,因为正则表达式比字符串函数产生更多的开销


在这里,您不需要使用
htmlspecialchars\u decode
,因为
str\u replace
将适用于您,并且在执行
str\u replace
时使用数组将减少代码行,请尝试以下操作

<?php 
$replace = str_replace(
array("&lt;&lt;name&gt;&gt;","&lt;&lt;age&gt;&gt;","&lt;&lt;address&gt;&gt;"),
array('$name','$age','$address'),
'$name', $value );

echo $replace;
$value=“Hi这是名称”

”; $HTMLENTES=数组(“,”); $desireInput=数组(“$”,“”); $value=str_replace($htmlentites,$desireInput,$value);
试试这个:


请详细说明-给出输入和输出示例
您是想用
$name
的值替换
还是用字符串替换
“$name”
?@JeremyRodi我想替换字符串如果您不介意的话,我可以问一下为什么吗?我更新了我的问题,可能是$name或$age它只是给出了输出。“嗨,这是我的名字”非常感谢我只是在找这个answer@LearningMode你试过我的答案了吗?至少?我想OP没有试过,因为他已经试过我的,但无论如何+1。但是,试着用更好的方式解释你的答案,而不是解释你用了什么,以及为什么你的代码在工作here@Uchiha在回答问题时,我会记住你的建议,因为现在我已经以描述性的方式更新了我的答案,谢谢你的投票:)
<?php 
$replace = str_replace(
array("&lt;&lt;name&gt;&gt;","&lt;&lt;age&gt;&gt;","&lt;&lt;address&gt;&gt;"),
array('$name','$age','$address'),
'$name', $value );

echo $replace;