Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将文本替换为str_替换为数组_Php_Str Replace - Fatal编程技术网

Php 将文本替换为str_替换为数组

Php 将文本替换为str_替换为数组,php,str-replace,Php,Str Replace,好吧,我会让添加smiley变得更容易,应该用更简单的代码来替换它,所以我不想创建两个数组,我只希望有一个。 这是我想要的一个例子。 $Smileys=数组(“:D”=>”) 因此,与其像这样使用它 $Smileys=数组(“:D”); $SmileyReplace=数组(“”); 但这有可能吗? 我似乎在谷歌上找不到有帮助的东西 我想使用的新代码和旧代码。 新的: 函数fixsmilies($Data){ $Smileys=数组( “:D”=>”, ":)" => '', “:P”=>”, “

好吧,我会让添加smiley变得更容易,应该用更简单的代码来替换它,所以我不想创建两个数组,我只希望有一个。 这是我想要的一个例子。 $Smileys=数组(“:D”=>”)

因此,与其像这样使用它 $Smileys=数组(“:D”); $SmileyReplace=数组(“”); 但这有可能吗? 我似乎在谷歌上找不到有帮助的东西

我想使用的新代码和旧代码。 新的:

函数fixsmilies($Data){
$Smileys=数组(
“:D”=>”,
":)" => '',
“:P”=>”,
“:S”=>”,
":'(" => '',
":$" => '',
":(" => '',
":@" => '',
";)" => '',
“B)”=>”,
":|" => '',
“:lol:”=>“(?”,
“:derp:”=>“”,
“D”=>”,
“:巨魔:”=>“”,
“:自旋:”=>“”,
“:爱:”=>“,
“:病态:”=>“”,
“:O_O:”=>”,
“:巴斯:”=>“”,
“:袜子:”=>“”,
“:boss:”=>“”,
“:马铃薯:”=>”;
返回$Smileys[$Data];
}
我目前使用的旧代码只使用str_replace和很多行

function fixSmileys($Data) {
        $xCommentx = $Data;
    $xCommentx1 = str_replace(":D", '<img src="/application/modules/Chat/externals/images/smilies/grin.png" title=":D" alt=":D"/>', $xCommentx);
    $xCommentx2 = str_replace(":)", '<img src="/application/modules/Chat/externals/images/smilies/smile.png" title=":)" alt=":)"/>', $xCommentx1);
    $xCommentx3 = str_replace(":P", '<img src="/application/modules/Chat/externals/images/smilies/tongue.png" title=":P" alt=":P"/>', $xCommentx2);
    $xCommentx4 = str_replace(":S", '<img src="/application/modules/Chat/externals/images/smilies/confused.png" title=":S" alt=":S"/>', $xCommentx3);
    $xCommentx5 = str_replace(":'(", '<img src="/application/modules/Chat/externals/images/smilies/cry.png" title=":'."'".'(" alt=":Cry:"/>', $xCommentx4);
    $xCommentx6 = str_replace(":$", '<img src="/application/modules/Chat/externals/images/smilies/embarrassed.png" title=":$" alt=":$"/>', $xCommentx5);
    $xCommentx7 = str_replace(":(", '<img src="/application/modules/Chat/externals/images/smilies/frown.png" title=":(" alt=":("/>', $xCommentx6);
    $xCommentx8 = str_replace(":@", '<img src="/application/modules/Chat/externals/images/smilies/mad.png" title=":@" alt=":@"/>', $xCommentx7);
    $xCommentx9 = str_replace(";)", '<img src="/application/modules/Chat/externals/images/smilies/wink.png" title=";)" alt=";)"/>', $xCommentx8);
    $xCommentx10 = str_replace("B)", '<img src="/application/modules/Chat/externals/images/smilies/cool.png" title="B)" alt="B)"/>', $xCommentx9);
    $xCommentx11 = str_replace(":lol:", '( ͡° ͜ʖ ͡°)', $xCommentx10);
    $xCommentx12 = str_replace(":derp:", '<img src="/application/modules/Chat/externals/images/smilies/derp.png" title=":derp:" alt=":derp:"/>', $xCommentx11);
    $xCommentx13 = str_replace(";D", '<img src="/application/modules/Chat/externals/images/smilies/awesome.png" title=";D" alt=";D"/>', $xCommentx12);
    $xCommentx14 = str_replace(":troll:", '<img src="/application/modules/Chat/externals/images/smilies/troll.png" title=":troll:" alt=":troll:"/>', $xCommentx13);
    $xCommentx15 = str_replace(":approve:", '<img src="/application/modules/Chat/externals/images/smilies/approved.png" title=":approve:" alt=":approve:"/>', $xCommentx14);
    $xCommentx16 = str_replace(":lolol:", '<img src="/application/modules/Chat/externals/images/smilies/lolol.png" title=":brohoof:" alt=":brohoof:"/>', $xCommentx15);
    $xCommentx17 = str_replace(":asdf:", '<img src="/application/modules/Chat/externals/images/smilies/asdf.png" title=":facehoof:" alt=":facehoof:"/>', $xCommentx16);
    $xCommentx18 = str_replace(":spin:", '<img src="/application/modules/Chat/externals/images/smilies/abspin.gif" title=":spin:" alt=":spin:"/>', $xCommentx17);
    $xCommentx19 = str_replace(":love:", '<img src="/application/modules/Chat/externals/images/smilies/heart.png" title=":love:" alt=":love:"/>', $xCommentx18);
    $xCommentx20 = str_replace(":sick:", '<img src="/application/modules/Chat/externals/images/smilies/sick.png" title=":lol:" alt=":sick:"/>', $xCommentx19);
    $xCommentx21 = str_replace(":O_O:", '<img src="/application/modules/Chat/externals/images/smilies/sawut.png" title=":O_O:" alt=":O_O:"/>', $xCommentx20);
    $xCommentx22 = str_replace(":bath:", '<img src="/application/modules/Chat/externals/images/smilies/bath-time.png" title=":bath:" alt=":bath:"/>', $xCommentx21);
    $xCommentx23 = str_replace(":socks:", '<img src="/application/modules/Chat/externals/images/smilies/socks.png" title=":socks:" alt=":socks:"/>', $xCommentx22);
    $xCommentx24 = str_replace(":boss:", '<img src="/application/modules/Chat/externals/images/smilies/SuitBozzsmiley.png" title=":boss:" alt=":boss:"/>', $xCommentx23);
    $xCommentx25 = str_replace(":potato:", '<img src="/application/modules/Chat/externals/images/smilies/potatoes.png" title=":potato:" alt=":potato:"/>', $xCommentx24);
    $xCommentxFinal = str_replace(":|", '<img src="/application/modules/Chat/externals/images/smilies/neutral.png" title=":|" alt=":|"/>', $xCommentx25);
    return $xCommentxFinal;
}
函数fixsmilies($Data){
$xCommentx=$Data;
$xCommentx1=str_replace(“:D”,”$xCommentx);
$xCommentx2=str_替换(“:)”,“$xCommentx1);
$xCommentx3=str_replace(“:P“,”$xCommentx2);
$xCommentx4=str_replace(“:S”,”$xCommentx3);
$xCommentx5=str_replace(“:”(“,”$xCommentx4);
$xCommentx6=str_replace(“:$”,“$xCommentx5”);
$xCommentx7=str_replace(“:(”,“,$xCommentx6”);
$xCommentx8=str_replace(“:@”,“xCommentx7”);
$xCommentx9=str_replace(“;)”,“”,$xCommentx8);
$xCommentx10=str_替换(“B)”,“$xCommentx9);
$xCommentx11=str_replace(“:lol:”,“('xCommentx10)”,$xCommentx10);
$xCommentx12=str_replace(“:derp:”,“”,$xCommentx11);
$xCommentx13=str_replace(“;D”,”$xCommentx12);
$xCommentx14=str_replace(“:troll:”,“”,$xCommentx13);
$xCommentx15=str_replace(“:approve:”,“”,$xCommentx14);
$xCommentx16=str_replace(“:lolol:”,“”,$xCommentx15);
$xCommentx17=str_replace(“:asdf:”,“”,$xCommentx16);
$xCommentx18=str_replace(“:spin:”,“”,$xCommentx17);
$xCommentx19=str_replace(“:love:”,“”,$xCommentx18);
$xCommentx20=str_replace(“:sick:”,“”,$xCommentx19);
$xCommentx21=str_替换(“:O_O:”,“”,$xCommentx20);
$xCommentx22=str_replace(“:bath:”,“”,$xCommentx21);
$xCommentx23=str_replace(“:socks:”,“”,$xCommentx22);
$xCommentx24=str_replace(“:boss:”,“”,$xCommentx23);
$xCommentx25=str_replace(“:potato:”,“”,$xCommentx24);
$xCommentxFinal=str|u replace(“:|”),“$xCommentx25”;
返回$xCommentxFinal;
}
currenty代码的工作原理如下,正在馈送的$Data包含类似“helloworld:D”的内容,因此它会遍历所有str_替换,直到找到匹配项并用html代码替换它。 但我只想让它像新的,但无用的非工作代码。
我希望这样做的原因是可以更容易地将笑脸添加到站点。

您可以使用内置函数将阵列拆分为两个,尝试在一个函数中使用它,例如:

...
return str_replace(array_keys($Smileys), array_values($Smileys), $Data)

编辑:请记住,这些函数会复制阵列,因此可能有比将一个阵列拆分为两个更好的解决方案;)

我希望这能对你有所帮助。:)

函数fixsmilies($Data,$direction){
$Smileys=数组(
“:D”=>”,
":)" => '');
foreach($Smileys as$key=>$value){//echo$key;
如果($direction==1){$Data=str_replace($key,$value,$Data);}
elseif($direction==2){$Data=str_replace($value,$key,$Data);}
}
返回$Data;
}
然后像这样使用它:

echo fixSmileys("hello there :D",1)."<br>".fixSmileys('<img src="/application/modules/Chat/externals/images/smilies/grin.png" title=":D" alt=":D"/>',2);
echo fixSmileys(“你好,这里是D”,1)。”
“.fixSmileys(“”,2);
有一种使用strtr的简单方法。请参阅文档和示例

-这还有一个好处,那就是您不必使用
str_replace
-p、 学习如何使用谷歌,特别是当你搜索一些技术性的东西时。既然你有一个数组
$Smileys
,你就不能只获取输入字符串,然后遍历$Smileys并运行stru替换吗?那就容易多了。为什么你要用这么多的
str_replace
为什么不用数组分配all,只做一个str_replace?我打赌你的第一个函数比第二个函数快!25*
str_replace
调用性能不太友好是的,我知道,但它可以工作:)所以您知道,并且没有做任何改进?对程序员来说不是很好的态度;)我让它正常工作,然后在空闲时间我优化事情
function fixSmileys($Data,$direction) {
        $Smileys = array(
        ":D" => '<img src="/application/modules/Chat/externals/images/smilies/grin.png" title=":D" alt=":D"/>',
        ":)" => '<img src="/application/modules/Chat/externals/images/smilies/smile.png" title=":)" alt=":)"/>');

    foreach($Smileys as $key=>$value){//echo $key;
      if($direction==1){$Data=str_replace($key,$value,$Data);}
      elseif($direction==2){$Data=str_replace($value,$key,$Data);}
    }

        return $Data;
}
echo fixSmileys("hello there :D",1)."<br>".fixSmileys('<img src="/application/modules/Chat/externals/images/smilies/grin.png" title=":D" alt=":D"/>',2);