php中“[||]之后的字符串替换”

php中“[||]之后的字符串替换”,php,regex,Php,Regex,我得到一个独特的问题。我有像家一样的家,我在这里。现在我想用null替换第一次出现后从“[| |]]左侧开始的所有内容。尝试了许多方法,如预替换、子字符串、爆炸、strstr、strreplace。。。但一切似乎都没有结果。请有人帮忙。您可以使用正则表达式查找要替换的字符串部分 <?php $input = "Home[||](|i am in here|)[||]"; $pattern = "/\[\|\|\](.*)/"; $output = preg_replace($pattern

我得到一个独特的问题。我有像家一样的家,我在这里。现在我想用null替换第一次出现后从“[| |]]左侧开始的所有内容。尝试了许多方法,如预替换、子字符串、爆炸、strstr、strreplace。。。但一切似乎都没有结果。请有人帮忙。

您可以使用正则表达式查找要替换的字符串部分

<?php
$input = "Home[||](|i am in here|)[||]";
$pattern = "/\[\|\|\](.*)/";
$output = preg_replace($pattern, "", $input);
echo $output;
?>

您可以通过多种方式使用等来实现,但我更希望使用,而不使用任何类型的正则表达式或str_*函数来实现您想要的。希望这将有助于完成你的工作

echo explode('[||]',"Home[||](|i am in here|)[||]")[0];
演示:

与斯特托克

对于strstr:

使用将是最简单的

echo strstr("Home[||](|i am in here|)[||]", "[||]", true);

发布你的预期输出我需要从这里回家…那么这样怎么样?回声爆炸“[| |]],家[| |][我在这里[| |][0];没有任何类型的正则表达式或str_*function是的,这很有效。您想要NULL或空字符串吗?您当前的代码在哪里?
 <?php
$mystring = 'Home[||](|i am in here|)[||]';
$first = strstr($mystring, "[||]", true);
echo $first; // Home
?>
echo strstr("Home[||](|i am in here|)[||]", "[||]", true);