Regex Ereg_替换为字符串
我有这样一个字符串:Regex Ereg_替换为字符串,regex,ereg-replace,Regex,Ereg Replace,我有这样一个字符串: $str = "{gfgd}i:123;a:7:{gfgd}i:5;a:35:"; 我想将其替换为: $str = "{gfgd},{gfgd},"; 我想用ereg_替换它,替换这种短语: i:[0-9]a:[0-9]:进入,签名 我试试看: $str = "i:143;a:5:{gfgd}i:123;a:7:{gfgd}i:5;a:35:"; $text = ereg_replace("/^i:[0-9]+;a:[0-9]+:+$", "
$str = "{gfgd}i:123;a:7:{gfgd}i:5;a:35:";
我想将其替换为:
$str = "{gfgd},{gfgd},";
我想用ereg_替换它,替换这种短语:
i:[0-9]a:[0-9]:进入,签名
我试试看:
$str = "i:143;a:5:{gfgd}i:123;a:7:{gfgd}i:5;a:35:";
$text = ereg_replace("/^i:[0-9]+;a:[0-9]+:+$", ",", $str);
但我不工作。你能帮助我吗?
提前感谢不要使用ereg_replace,因为从PHP 5.3.0开始,此函数已被弃用
$str = "i:143;a:5:{gfgd}i:123;a:7{gfgd}i:5;a:35";
$str = ereg_replace("\}[^\{]+\{", "},{", $str); // replace between } and { with },{
$str = ereg_replace("^[^\{]+", "", $str); // remove from first
$str = ereg_replace("[^\}]+$", ",", $str); // remove from last
print $str;
使用preg_replace代替,您的正则表达式是错误的。移除锚固件^$
在线演示:看起来您正在处理序列化为字符串的PHP数组或对象。我建议你跑步:
<?php
$arrayOrObject = unserialize($theEntireStringYouGot);
print_r($arrayOrObject);
?>
这样,您甚至可能根本不需要处理正则表达式
注意:它不会像您的示例中那样取消序列化一段字符串,而是将其全部输入。好的,谢谢-取消序列化工作非常完美,但是如果我想在javascript中使用它,请使用json_encode将PHP中的数组序列化为json,然后在javascript中解码json。这里有一个JSON2库,您可以使用它,除非您使用的是jQuery或类似内置的jQuery。
<?php
$arrayOrObject = unserialize($theEntireStringYouGot);
print_r($arrayOrObject);
?>