$string = 'Justin Timberlake (One Direction)';
$string = str_replace('????', '',$string);
我希望删除()
中的所有内容,包含括号,是否可以使用str_replace
?有时可能会像( fff)
这样。正则表达式难以维护,所以我避免这样做。
答案 0 :(得分:2)
我认为str_replace
在这里是不可行的,因为它会搜索要替换的特定字符串,而我们无法为其提供特定要替换的字符串,因为(One Direction)
可以更改。 (我假设它可以改变,因此不是一个可行的选择)。这是两个选择;
<?php
$string = "Justin Timberlake (One Direction)";
echo substr($string, 0, strpos($string, "("));
<?php
$string = "Justin Timberlake (One Direction)";
$string = preg_replace("/\(.*\)/", "", $string);
echo $string;
答案 1 :(得分:0)
我会在这个问题中使用preg_replace
:Remove Text Between Parentheses PHP
$string = "ABC (Test1)";
echo preg_replace("/\([^)]+\)/","",$string);
编辑:
$string = "ABC (Test1)";
echo preg_replace("/\([^)]*\)/","",$string);
答案 2 :(得分:0)
如果你想改变里面的内容()
<?php
$string = "Justin Timberlake (One Direction)";
$start = '(';
$end = ')';
if (strpos($string,$end) !== false) {
$startpos = strpos($string, $start) + strlen($start);
if (strpos($string, $start) !== false)
{
$endpos = strpos($string, $end, $startpos);
if (strpos($string, $end, $startpos) !== false)
{
$data_replace= substr($string, $startpos, $endpos - $startpos);
}
}
}
$data_insert = "Sing Song";
echo $data_updated = str_replace($data_replace,$data_insert,$string);
?>