Php 如何转换<&书信电报;名称>&燃气轮机;至$name
我正在尝试将Php 如何转换<&书信电报;名称>&燃气轮机;至$name,php,Php,我正在尝试将转换为$anyVar 它可以是到$name或到$age或到$address或这三者的组合。所以这可能是 $value = "<p>Hi this is <<name>> and I am living in <<address>></p>"; $value=“您好,这是我的名字,我住在这个地址””; 虽然我有一个成功的方法与此代码 $value
转换为$anyVar
它可以是
到$name或
到$age或
到$address或这三者的组合。所以这可能是
$value = "<p>Hi this is <<name>> and I am living in <<address>></p>";
$value=“您好,这是我的名字,我住在这个地址””;
虽然我有一个成功的方法与此代码
$value = "<p>Hi this is <<name>></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("<<name>>", '$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("<<",">>"),array("$",""),$your_string);
或者您也可以简单地使用str\u replace
,就像
$value = "<p>Hi this is <<name>></p>";
$htmlentites = array("<<",">>");
$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("<<name>>","<<age>>","<<address>>"),
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("<<name>>","<<age>>","<<address>>"),
array('$name','$age','$address'),
'$name', $value );
echo $replace;