删除子字符串的第一个实例,如果它在字符串的前面


Remove first instance of substring if its infront of string

我有两种类型的字符串:

字符串1

<br/>Ask Me A Question<br />
                  |<br/>Search My Apartments<br/>

字符串2

Ask Me A Question<br />
                  |<br/>Search My Apartments<br/>

我如何有一个函数,从字符串1中删除第一个<br/>以获得字符串2,而不触及字符串2中的任何东西,如果字符串2被传递到函数?

^开始你的正则表达式以匹配字符串的开头

preg_replace('/^<br's?'/>/', '', $string)

编辑:哎呀,这里有一个额外的空间('s) !

编辑2:添加了一个可选的空格!

如果您想避免使用正则表达式,您可以使用strpos()检查<br/>是否出现在字符串的开头。如果是这样,只需使用substr()

去掉前五个字符
if (strpos($string, '<br/>') === 0) {
  $string = substr($string, 5);
}

`^<br/>替换为空字符串

@mathletics对于问题中给出的例子,答案是不正确的,这个是有效的:

preg_replace('#^(<br/>)#iu', '', $string);