Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> preg_replace и не искать уже в замененном, Pattern - массив значений
Barh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 80
Пользователь №: 31275
На форуме: 4 года, 10 месяцев, 5 дней
Карма: 1




Здравствуйте, форумчане!

Есть примерно такой код, который выделяет искомые значения в строке:
$pattern = ('/тор/', '/говорит/','/strong/');
$replacement = "<strong>$0</strong>";
$final_result = preg_replace($pattern, $replacement, $string);


Так вот в переменной $final_results ещё и выделится тот текст на который я заменял ранее.

Как-то можно искать только в первоначальной строке?

Или это возможно только если искать позицию вхождений и потом выделять по позициям вручную?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Placido  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Наблюдаю
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1241
Пользователь №: 29445
На форуме: 5 лет, 3 месяца
Карма: 143




Можно. Для этого паттерн должен быть в виде строки с альтернативами, а не в виде массива.
$pattern = 'тор|говорит|strong';
$replacement = "<strong>$0</strong>";
echo preg_replace('/' . $pattern . '/', $replacement, $string);


Если массив, то нужно сделать из него строку - например, с помощью implode, предварительно убрав разделители.
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Barh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 80
Пользователь №: 31275
На форуме: 4 года, 10 месяцев, 5 дней
Карма: 1




Цитата (Placido @ 4.10.2013 - 11:48)
Можно. Для этого паттерн должен быть в виде строки с альтернативами, а не в виде массива.
$pattern = 'тор|говорит|strong';
$replacement = "<strong><!--QUOTE BOX--></strong>";
echo preg_replace('/' . $pattern . '/', $replacement, $string);


Если массив, то нужно сделать из него строку - например, с помощью implode, предварительно убрав разделители.

Спасибо, очень помогли, и как я сам не догадался)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса