Получить первые 2 слова вместе с символами

Я пытаюсь получить первые 2 слова из строки, первое слово Animal и второе слово (Cat), мой текущий код действительно извлекает его, но скобки () игнорируются. Я хочу получить точно так же, как в строке Animal (Cat).

echo implode(' ', array_slice(str_word_count($_POST['str'], 2), 0, 5));

Не могли бы вы сообщить нам ввод $_POST['str'] и ожидаемый результат, пожалуйста?

Praveen Kumar Purushothaman 22.04.2022 21:06

скажем, например, $str = 'Животное (кошка) является домашним животным';

Abigail 22.04.2022 21:08

вывод, который я хочу, это животное (кошка)

Abigail 22.04.2022 21:08

ООО Спасибо! Я думаю, вы также можете использовать implode() и array_slice().

Praveen Kumar Purushothaman 22.04.2022 21:09

как я могу этого добиться, пожалуйста. спасибо

Abigail 22.04.2022 21:10

Пожалуйста, проверьте ответ...

Praveen Kumar Purushothaman 22.04.2022 21:13
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Что нового в PHP 8.1?
Что нового в PHP 8.1?
Если вы все еще используете PHP 7, то эта статья для вас. В PHP 8, а именно в PHP 8.1, встроены некоторые очень востребованные функции, которые вам...
Разработка LMS на заказ для повышения эффективности работы и обучения
Разработка LMS на заказ для повышения эффективности работы и обучения
За последние годы в образовании произошла большая революция, и сегодня почти все учебные заведения делают упор на эксклюзивное управление учебным...
1
6
29
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Вы можете использовать array_slice, чтобы получить первые два слова, а затем использовать implode, чтобы соединить их:

<?php
  $str = "Animal (Cat) is a domestic pet";
  echo implode(" ", array_slice(explode(" ", $str), 0, 2));

Я получаю вывод как:

Animal (Cat)

Вот песочница: https://sandbox.onlinephpfunctions.com/c/a2c44

спасибо сработало :)

Abigail 22.04.2022 21:16

и если предположить, что я хочу, чтобы каждое слово перед (кошкой), например, «Почему животное (кошка) является дружелюбным домашним животным», и получить вывод как «Почему животное (кошка)»

Abigail 22.04.2022 21:19

Да, я определенно принимаю это.

Abigail 22.04.2022 21:20

@Abigail Спасибо и хорошего дня. ?

Praveen Kumar Purushothaman 22.04.2022 21:21

@Abigail Дай мне попробовать... Ты можешь попробовать найти положение (Cat) и что-нибудь сделать. Дай мне одну минуту.

Praveen Kumar Purushothaman 22.04.2022 21:21

можешь помочь и с этим пожалуйста?

Abigail 22.04.2022 21:21

это не всегда может быть (Кот), но слова перед () - это то, что я хочу

Abigail 22.04.2022 21:23

@Abigail Посмотрите это - Вход:A Cute Animal (Cat) is a domestic pet и Выход:A Cute Animal (Cat). Помогает ли этот код?

Praveen Kumar Purushothaman 22.04.2022 21:25

Да, да, это может быть милое животное (кошка) или милое животное (собака) или любое другое имя животного.

Abigail 22.04.2022 21:26

@Abigail Дай мне попробовать, я знаю, как это сделать в JavaScript. Но в PHP я не думаю, что это возможно. Это действительно кажется сложным, и не могли бы вы задать еще один вопрос, он кажется хорошим.

Praveen Kumar Purushothaman 22.04.2022 21:28

Конечно, не проблема, очень ценю вашу помощь. здорово :)

Abigail 22.04.2022 21:31

Придется ждать 90 минут :(

Abigail 22.04.2022 21:38

Stackoverflow теперь не позволяет задать другой вопрос

Abigail 22.04.2022 21:39

@ Эбигейл Дай мне минутку.

Praveen Kumar Purushothaman 22.04.2022 21:39

лол хорошо :) я сделал это

Abigail 22.04.2022 21:44

Это намного проще. Просто токенизируйте пространство дважды:

echo strtok($_POST['str'], ' ') . ' ' . strtok(' ');

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