簡體   English   中英

如何替換特定字符,例如php中的括號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM