[英]How to replace specific character such as bracket in php
在過去的三天里,我一直在嘗試在自己的定界符中替換括號。 就像是
( ( [take] function ( [/take] (
看起來像
[take] function [ [/take]
不影響[take][/take]
分隔符之外的方括號
我努力了
preg_replace('/[^\[take\]]([)[^\[\take\]]/', '[', $string);
您需要使用正則表達式:
$string = "( ( [take] function( [/take] (";
$result = preg_replace_callback(
"/(\[take\])(.*?)(\[\/take\])/",
function($m) {return $m[1] . str_replace("(", "[", $m[2]) . $m[3];},
$string
);
echo $result;
preg_replace_callback()
允許您在比賽中執行回調函數。 在這種情況下,我們使用匹配組(在括號內)來隔離標簽之間的文本,然后在回調中用括號將括號替換。
如果間距一致,則:
$result = str_replace('function ()', 'function []', '( ( function () (');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.