我遇到一个独特的问题。我有类似“ Home [||](|我在这里|)[||]”的字符串。现在,我想用null将第一次出现的“ [||]”左侧的所有内容替换掉。尝试了多种方式,例如pregreplace,substring,explode,strstr,strreplace ...但似乎没有任何解决方法。有人可以帮忙吗。
答案 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_*
使用 strtok()
echo explode('[||]',"Home[||](|i am in here|)[||]")[0];
使用 strstr():
<?php
$mystring = 'Home[||](|i am in here|)[||]';
$first = strtok($mystring, '[||]');
echo $first; // Home
?>