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

时间:2011-12-20 20:31:44

标签: php regex string

我有两种类型的字符串:

字符串1

<br/>Ask Me A Question<br />

                  |<br/>Search My Apartments<br/>

字符串2

Ask Me A Question<br />

                  |<br/>Search My Apartments<br/>

我如何使用一个函数从String 1中删除第一个<br/>以获取字符串2,而如果字符串2传递给函数,则不触及字符串2中的任何内容?

4 个答案:

答案 0 :(得分:1)

使用^启动正则表达式以匹配字符串的开头。

preg_replace('/^<br\s?\/>/', '', $string)
编辑:哎呀,那里有一个额外的空间(\ s)!

编辑2:在!

中添加了可选空格

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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