Удалить первый экземпляр подстроки, если она находится перед строкой - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть 2 типа строк:

Строка 1

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

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

Строка 2

Ask Me A Question<br />

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

Как у меня есть функция, которая удаляет первый <br/> из строки 1, чтобы получить строку 2, не трогая ничего в строке 2, если строка 2 передается в функцию?

Ответы [ 4 ]

1 голос
/ 21 декабря 2011

начинайте свое регулярное выражение с ^, чтобы соответствовать началу строки.

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

РЕДАКТИРОВАТЬ: упс, там было дополнительное место (ы)!

РЕДАКТИРОВАТЬ 2: добавлен необязательный пробел обратно в!

0 голосов
/ 21 декабря 2011

@ mathletics Ответ неверен для примера, приведенного в вопросе. Этот работает:

preg_replace('#^(<br/>)#iu', '', $string);
0 голосов
/ 21 декабря 2011

Заменить `^<br/> пустой строкой.

0 голосов
/ 21 декабря 2011

Если вы хотите избежать использования регулярного выражения, вы можете проверить, встречается ли <br/> в начале строки с strpos().Если это так, просто отрежьте первые пять символов, используя substr()

if (strpos($string, '<br/>') === 0) {
  $string = substr($string, 5);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...