Я уверен, что кто-то уже задавал этот вопрос, но после поиска более 1 часа в Google, я решил задать свой вопрос здесь.
Я хочу перебрать массив, исключая различные строки /тексты.Эти тексты содержат строки с ## valuetoreplace ## и # valuetoreplace #
, которые я хочу сделать с preg_matches:
$pattern = '/^#{1}+(\w+)+#{1}$/';
if(preg_match($pattern, $value, $matches, PREG_OFFSET_CAPTURE))
{
// do something with the #values#
}
AND
$pattern = '/^#{2}+(\w+)+#{2}$/';
if(preg_match($pattern, $value, $matches, PREG_OFFSET_CAPTURE))
{
//do something with the ##value##
}
Это прекрасно работает,Теперь моя единственная проблема заключается в следующем:
Когда у меня есть строка типа
$valueToMatch = 'proceding text #value#';
Мой preg_match больше не может найти мое значение (так как я использовал ^ и $).
Вопрос: как я могу найти #value#
и ##value##
, не беспокоясь, если эти слова находятся в середине (многострочного) значения?
* Кроме того: Чтоя хочу, чтобы найти шаблоны и заменить # значение # со значением в дБ и ##value##
со значением массива.Например:
$thingsToReplace = 'Hello #firstname# #lastname#,
How nice you joined ##namewebsite##.';
должно быть
'Hello John Doe,
How nice you joined example.com.'