2017-10-28 64 views
-2

如何在PHP中用preg_replace替换每个以(或以a结尾)开头的字符串?preg_repalce php正则表达式 - 替换所有以“(”或结尾为“)”开头的代码

+0

为什么在你需要做的时候使用preg_replace是看字符串的第一个或最后一个字符? – Andreas

+0

你想用什么替换它,你尝试了什么?什么不行? –

+0

目前尚不清楚,这不是一个好问题!没有例子,你不显示你已经尝试过。您的问题将无法回答而关闭。快速编辑。 –

回答

0

你不需要这样的正则表达式。

If(substr($str,0,1) == "(" || substr($str, -1) == ")") { 
    // Replace string 
    $str = "hello world"; 
} 

测试在这里:https://3v4l.org/g9iYc

0

另一种选择是trim()字符和字符串的长度与strlen()比较:如果相等,字符串不启动或在括号结束反之亦然:

if (strlen(trim($sample, "()")) !== strlen($sample)) { 
    // do your logic 
} 

Demo

0

它通常就像这样preg_replace('/^[(]|[)]$/g', "add replacement", $target);

+0

不确定,但我认为问题中的“字符串”表示“子串”。 –

+0

我会用这个然后'(?<!\ S)[(] | [)](?!\ S)' – sln

+0

真的吗?他想要替换整个子字符串。 –

相关问题