我有以下代码
$text = '["{!Account__!http://localhost/MF/Public/__NotActivated}","email"]';
$replcmnt = array(
'#{!Account__!http:\/\/localhost\/MF/Public\/__NotActivated}#' => 'text to replace'
);
$text = preg_replace(array_keys($replcmnt),$replcmnt,$text);
我需要输出'["text to replace","email"]'
但由于某种原因,替换没有替换。我觉得这非常奇怪,因为这在我加载页面时有效,但如果我通过 ajax 请求运行它就不起作用 Oo
我还必须注意,如果我从下划线之间的内部删除任何斜线,则会发生替换。所以问题一定出在那些斜线上。
前任。
$replcmnt = array(
'#{!Account__!http:-localhost-MF-Public-__NotActivated}#' => 'text to replace'
);
我想,由于缺少斜线,上述内容将被替换。
任何帮助是极大的赞赏
编辑:
这是替换前的数据:
$text
["{!Account__!http:\/\/localhost\/MF\/Public\/__NotActivated}","email"]
$replcmnt
Array
(
[#{!Account__!http:\/\/localhost\/MF\/Public\/__NotActivated}#] => some long text
)