Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Функция preg_replace не работает корректно при копировании

#1 tiagamc

tiagamc
  • Пользователь
  • 22 сообщений
  • Репутация: -1
0

Отправлено 18 Сентябрь 2015 - 01:18

Здравствуйте!\\

 

В общем проблема в следующем...

у меня код, который после сохранения в базу данных переводит в сылки все слова у которых стоит #

$answer = preg_replace("/#([\S*]+)/", "<a href='/\\1'>#\\1</a>", $answer);

Все работает отлично, если я пишу сам, например " Самый лучший #фильм про войну"  

 

но если сделать с помощью копирования текст (Самый лучший #фильм про войну) ctrl+с = ctrl+v     в не слово #фильм  становится ссылкой а два слова  "#фильм про"   объясните почему так может происходить


 

В общем, я понял одно, что при копировании текста, любого текста и в ставке через (копировать/вставить) вставляется между словами символ &nbsp;  и из-за этого нет пробела и два слова рядом с # СТАНОВЯТСЯ ССЫЛКОЙ А НЕ ОДНО КАК НУЖНО

 

  • 0

#2 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 02 Октябрь 2015 - 14:48

Регулярку поправь и будет счастье. Пусть твоя регулярка учитывает нбсп

Как вариант, перед обработкой, можно удалить все нбсп


Сообщение отредактировал fedornabilkin: 02 Октябрь 2015 - 14:49

  • 1
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.



Оформление форума – IPBSkins.ru