Я использовал следующий сайт для тестирования PHP regex, таким образом, я не должен постоянно загружать: http://www.spaweditor.com/scripts/regex/index.php
Я использую следующий regex:
/(.*?)\.{3}/
на следующей строке (заменяющий ничем):
Non-important data...important data...more important data
и preg_replace возвращается:
more important data
все же я ожидаю, что это возвратится:
important data...more important data
Я думал? нежадный модификатор. Что продолжается здесь?
Ваш нежадный модификатор работает должным образом. Но preg_match
заменяет все совпадений (не жадных) на заменяющий текст ( ""
в вашем случае). Если вы хотите заменить только первый, вы можете передать 1
как необязательный 4-й аргумент (предел) функции preg_replace
( PHP-документы для preg_replace ). На веб-сайте, на который вы указали ссылку, это можно сделать, набрав 1
в поле ввода между словом «Флаги» и словом «предел».