Вырезать строку между строк

  • Автор темы Автор темы logoff
  • Дата начала Дата начала

logoff

Новичок
Нужно вырезать black_king из строки ,black_queenE8,black_kingA2,black_bishop2C8

буду очень благодарен кто поможет, я перепробовал уже точно около 20-25 ответов в интернете, везде результат был ,black_kingA2
 
Последнее редактирование:
Реши задачу без регулярок. Разбей по запятым, отрежь два последних символа. Если у тебя искомая строка всегда в одном и том же месте и A2-N8 - всегда идут по 2 символа.
 
@logoff, ну тогда напиши функцию свою, где все будет учтено. Не надо пытаться решить задачу способами, которые ты не осиливаешь сам. Потом поддержка кода выливается в гемор.
 
с горем по полам сделал 2 функциями,

1 функция находит black_kingA2
2 убирает A2

preg_match('~[_a-z0-9]+A2~', $black_chess_positions, $attacked);
$attacked = str_replace('A2', '', $attacked[0]);
 
А теперь сделай из них одну. Моё разрешение у тебя уже есть.
 
ты совсем с другой стороны подошел к проблеме.
Видимо тебе надо парсить шахматную нотацию. Видимо, ход в этой начинается всегда с имени фигуры. потом то место где она стоит, либо её ход. Все имена фигур известны заранее(black_king, black_queen). Так что проще завести массив с возможными именами фигур и потом искать их в начале каждой строки. Разумеется, предварительно разделив по запятым на части.
 
@Adelf, мы то это понимаем, но ТС, очевидно, плевать на наше мнение. Его собственное его интересует куда больше.
 
Сверху