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

时间:2018-07-22 06:26:02

标签: php regex

我遇到一个独特的问题。我有类似“ Home [||](|我在这里|)[||]”的字符串。现在,我想用null将第一次出现的“ [||]”左侧的所有内容替换掉。尝试了多种方式,例如pregreplace,substring,explode,strstr,strreplace ...但似乎没有任何解决方法。有人可以帮忙吗。

3 个答案:

答案 0 :(得分:1)

使用strstr()是最简单的...

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您可以使用strstr()strtok()preg_replace()等多种方式来实现。但是我更喜欢使用explode(),而无需使用任何类型的SUM ( IIF ( [Trial categories].CURRENTMEMBER IS [Trial categories].[Trail].&[1]  , [measure].[calls]  , NULL ) ) regex函数来实现所需的功能。希望这会帮助您完成工作。

str_*

演示: https://eval.in/1040308

使用 strtok()

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

使用 strstr()

<?php
$mystring = 'Home[||](|i am in here|)[||]';
$first = strtok($mystring, '[||]');
echo $first; // Home
?>