- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть код, например, который в поле $row['name'] удаляет вхождение кавычек.
До недавнего времени проблем не было. Чистил от кавычек ВСЕ названия. Но на днях заметил, что как-то выборочно начала срабатывать функция strpos(). В большинстве фраз перестались кавычки находиться, но они точно есть! Причём эта проблема судя по всему на хостинге, ибо на локальном компе проверяю, всё как и раньше отлично находит. Не могу понять, какие настройки хостинга могли так повлиять.
Пробовал локаль задавать setlocale(LC_ALL, 'ru_RU.CP1251', 'ru_RU', 'rus'); не помогло.
Кто знает, в чём может быть проблема?
p.s. preg_match("/\"/", $row['name']) тоже пробовал, не ищет (.
А зачем условие нужно?
semenov добавил 04.03.2009 в 22:41
А если так будет: " ? ))
semenov добавил 04.03.2009 в 22:43
Или так: & #34; ? ))) (без пробела)
Условие нужно, чтобы поменьше мучить базу. Так как обновление записи идёт, только тогда, когда изменились данные. А не у всех записей.
Не находит кавычку именно в этом виде ". И похоже только тогда, когда кавычка два раза в строке встречается. Когда только один раз - strpos($row['name'], '"') срабатывает нормально.
--
Хотя есть выход - проверку сделать после
$name_new=str_replace('"', '', $row['name']);
$name_new=str_replace('"', '', $name_new);
if ($name_new!= $row['name']), то делаем апдейт записи в базе (хорошо хоть str_replace не перестала работать)...
--
Но всё равно, почему strpos($row['name'], '"')!==false не всегда находит кавычку (")?
Там точно " или спецсимвол?
попробуйте так:
& #34; - без пробела
Мля, всё-таки был спецсимвол! Файрфокс при просмотре выделенного фрагмента мне упорно показывал просто " ! Не верь глазам своим).
semenov, спасибо за поддержку). Всё заработало.
зачем такой сложный код? Не проще ли так:
$rep = array('& #34;', '"', '"');$name_new=str_replace($rep, '', $row['name']);