2016-11-24 2 views
-1

значения переменного:preg_replace() все перед матчем с пустым только один разом

1000+ строки не требуется текст

ABC:Обязательного текст.

ABC:Подробнее Требуемый текст.

Цель состоит в том, чтобы заменить все перед первым «ABC:» i.e 1000+ строк необязательного текста на пробел. Насколько я читаю, мне нужно использовать preg_replace() с предельным параметром до 1.

Как это сделать?

preg_replace("/.*/ABC:" , "ABC:", $string, 1); 
+0

Зачем использовать регулярное выражение для этого? Вы можете использовать 'strpos', чтобы найти, где находится первая« ABC: », и отрезать строку оттуда. –

+1

Спасибо. 'echo substr ($ variable, strpos ($ variable," ABC: "));' – user3027056

+0

Ваш код почти прав. Второй символ '/' должен находиться в конце строки, а не перед 'ABC'. И вам нужно использовать '. *?', Чтобы он остановился на первом 'ABC:', а не на последнем. – Barmar

ответ

1

Вам не нужно preg_replace(), когда вы можете использовать strstr, чтобы сделать это.

echo strstr($string, 'ABC:'); 
+0

Это сработало. Благодарю. Глупый, я пытаюсь все усложнить. – user3027056

+0

@ user3027056 С удовольствием помогите :) –

Смежные вопросы