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



Двойной обратный слеш не работает

#1 RosenRot
RosenRot
  • Неактивные
  • 49 сообщений
  • Репутация: 1
0

Отправлено 01 марта 2018 - 11:58

Добрый день. Возникла проблема с обратным слешем. Лет 6 назад программировал на php но с тех пор разучился напрочь. 

<?php 
$str = 'АБВ\\ГДЕ';
echo stristr($str,'\\');
?>

Выводит \ГДЕ

 

А вот:

<?php 
$str = 'АБВ\\ГДЕ';
echo stristr($str,'\\\\');
?>

Не выводит ничего. Скажите пожалуйста, почему? Где я туплю?!


 

 

  • 0

#2 miketomlin
miketomlin
  • Пользователь
  • 576 сообщений
  • Репутация: 119

Отправлено 01 марта 2018 - 13:59

\\ – это один слеш, а вы ищете два. Если хотите сделать аналог первого примера, нужно же писать в исходной строке \\\\ ;)


  • 0


#3 RosenRot
RosenRot
    Topic Starter
  • Неактивные
  • 49 сообщений
  • Репутация: 1

Отправлено 01 марта 2018 - 14:06

\\ – это один слеш, а вы ищете два. Если хотите сделать аналог первого примера, нужно же писать в исходной строке \\\\

Ну это в целом очевидно из кода
 

<?php
$str = 'АБВ\\ГДЕ';
echo stristr($str,'\\\\');
?>

В этом то коде я использую два. Я написал 
 

Не выводит ничего.

Результата нет.

А мне по сути нужен вывод результата: ГДЕ


Сообщение отредактировал RosenRot: 01 марта 2018 - 14:04

  • 0

#4 miketomlin
miketomlin
  • Пользователь
  • 576 сообщений
  • Репутация: 119

Отправлено 01 марта 2018 - 15:38

Если вам это очевидно, в чем тогда вопрос?

 

В этом то коде я использую два.
Я вам сказал в исходной строке написать два (фактически \\\\), а то у вас в исходной строке один (\\), а вы ищете два (\\\\). Как следствие – безуспешный поиск. Андестанд?

 

А мне по сути нужен вывод результата: ГДЕ
И где тогда адекватное решение? Данная ф-ция по определению возвращает первое вхождение искомой строки и все что далее, а не только все, что далее.
  • 0


#5 RosenRot
RosenRot
    Topic Starter
  • Неактивные
  • 49 сообщений
  • Репутация: 1

Отправлено 01 марта 2018 - 15:47

@miketomlin, если не сложно можете просто написать код? Там три строки, туплю я, не пойду пойму.

И еще, в исходной строке писать \\\\ не вариант, там по сути массив разных значений в которых присутствует \\, например:

 

Из 1С выгружается два товара:

 

Нокия\\Чехол белый

Самсунг\\Экран защитный

 

Мне нужно скриптом удалить все, что до \\ включительно и получить:

Чехол белый

Экран защитный

 

 

Может я пользуюсь не той функцией, раз

 

первое вхождение искомой строки и все что далее, а не только все, что далее.

В общем посоветуете что-нибудь для этих целей?!


Сообщение отредактировал RosenRot: 01 марта 2018 - 15:48

  • 0

#6 miketomlin
miketomlin
  • Пользователь
  • 576 сообщений
  • Репутация: 119

Отправлено 01 марта 2018 - 16:19

И еще, в исходной строке писать \\\\ не вариант

Так и надо было сразу написать, а не приводить кривой пример (когда вы явно прописываете значение строки в коде, нужно написать \\\\, но означает это два слеша).
 
Пробуйте explode('\\\\',$str,2)[1], а если есть сомнения в успешности этого предприятия, то сначала if (count($a=explode('\\\\',$str,2))>1).
Чтобы не городить ветвление, можно сделать array_pop – что-нибудь да извлечете в любом случае :)
  • 1




Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Megoydagi Megoydagi 1-й за Август
Очков активности: 30 4 темы, 8 сообщений, 1 балл репутации
Сайт: bank.net.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 22.5 3 темы, 6 сообщений, 1 балл репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 18 Вне конкурса за определение пользователя месяца

  • Фотография SergiuS85
    #3

    SergiuS85
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография kuztoday
    #4

    kuztoday
    Очков активности: 10.5 1 тема, 4 сообщения, 1 балл репутации

  • Фотография Megoydagi
    #5

    Megoydagi (bank.net.ru)
    Очков активности: 9 Вне конкурса за определение пользователя месяца

  • Фотография mkreine
    #6

    mkreine (analiz-krovi.net)
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография kolver
    #7

    kolver
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография Totti
    #8

    Totti
    Очков активности: 7.5 0 тем, 5 сообщений, 1 балл репутации

  • Фотография r0mZet
    #9

    r0mZet (rz-style.ru)
    Очков активности: 6 1 тема, 1 сообщение, 1 балл репутации

  • Фотография wp01
    #10

    wp01
    Очков активности: 6 0 тем, 4 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

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