Как заменить строки в foreach перед командой разнесения, используя PHP

У меня есть foreach, из которого я извлекаю футбольные матчи; формат строки футбольного матча такой:

Манчестер Сити - Манчестер Юнайтед

и я использую "-", чтобы разбить их, но у меня проблема с названием какой-то футбольной команды, потому что в названии есть этот символ, например

В-Варен Нагасаки

поэтому я решил заменить имя без этого символа, например

«В-Варен Нагасаки», «В Варен Нагасаки»

Это ссылка на веб-страницу: ссылка Это моя часть кода, где я их взрываю:

`$c=0; $b=0; $o=0; $z=0; $h=0; $j=0; 
foreach ($titles as $match) {
    
   
    list($home, $away) = explode('-', $titles[$z++]->innertext); // <- explode


$home = strip_tags($home);
$away = strip_tags($away);
$uniquefield = $home . ' ' . $away;`
}

Итак, вы можете видеть, что я разбиваю названия (футбольные матчи) на два списка переменных: дома и на выезде, но я не уверен, куда мне следует поместить список всех моих команд замены.

Все имена разные, поэтому я не могу сделать общую замену, но специфичную для каждой команды.

Спасибо за вашу помощь

Взорваться ' - '…? Но даже и это, если есть какие-то Fruthberg - Leftham - Manchester, тоже никуда не годится…

deceze 17.05.2024 09:13

да, в Python, например, я заменил каждую команду на "-", но не знаю, как это сделать в PHP

Franky77 17.05.2024 09:17

…?! Я говорю, что вам следует explode за строку ' - ' (пробел, дефис, пробел). Это должно разделить V-Varen Nagasaki - Manchester на V-Varen Nagasaki и Manchester.

deceze 17.05.2024 09:20

Боже мой! Это была моя ошибка, теперь все работает! Спасибо!

Franky77 17.05.2024 09:24

Если вы хотите превратить свой ответ в официальный ответ, я дам вам награду :)

Franky77 17.05.2024 09:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если у вас есть строки футбольных матчей, в которых названия команд могут содержать дефисы, и вы хотите правильно их разделить, вы можете использовать регулярное выражение для динамической обработки разделения. Вот как этого можно добиться в PHP:

<?php
$titles = [
    "Manchester City - Manchester United",
    "V-Varen Nagasaki - Tokyo Verdy",
    "Real Madrid - Barcelona",
];

foreach ($titles as $match) {

    preg_match('/^(.*) - (.*)$/', $match, $result);
    if ($result) {
        $team1 = $result[1];
        $team2 = $result[2];
   
        echo "Team 1: $team1, Team 2: $team2\n";
    } else {
        echo "Invalid match format: $match\n";
    }
}

Такой подход гарантирует правильную обработку названий команд с дефисами, что делает его устойчивым для различных форматов названий команд.

Другие вопросы по теме