подстроки в php - PullRequest
       12

подстроки в php

0 голосов
/ 09 сентября 2011

Привет У меня есть следующее

string = "joseph daniel commented on project aadhar"

Как я могу разбить вышеупомянутую строку на 4 части, то есть

"joseph daniel", "commented on", "project" и "aadhar"

Спасибо и всего наилучшего

Ответы [ 4 ]

1 голос
/ 09 сентября 2011

Вы можете использовать функцию разнесения:

explode($delimiter , $string);

Итак, разделитель должен быть "", а $ string должен быть "Джозеф Даниэль прокомментировал проект aadhar".

После применения функции вы получаете массив со всеми словами из предложения.

Preety аккуратно:)

0 голосов
/ 09 сентября 2011

Если строка «с комментариями» никогда не изменится, вы можете использовать:

<?php
$string = "sandesh commented on institue international institute of technology";
preg_match('/(.*) commented on (.*?) (.*)/', $string, $m);
var_dump($m);
?>

Результат

Array(
  0 => 'joseph daniel commented on project aadhar'
  1 => 'joseph daniel'
  2 => 'project'
  3 => 'aadhar'
)

или

Array(
  0 => 'sandesh commented on institue international institute of technology'
  1 => 'sandesh'
  2 => 'institue'
  3 => 'international institute of technology'
)

Примечание для модераторов: этот вопрос, вероятно, следует объединить с Сомнение в отношении Strtok в PHP

0 голосов
/ 09 сентября 2011

Вы не предоставляете нам достаточно информации, но, судя по вашим комментариям, вам нужно извлечь тему и ресурс из строки в формате * commented on *.Чтобы начать работу в правильном направлении, вы можете сделать:

$str = 'joseph daniel commented on project aadhar';
$matches = array();
preg_match('/^(.*)\s+commented on\s+(.*)$/', $str, $matches);

Это даст массив:

Array
(
    [0] => joseph daniel commented on project aadhar
    [1] => joseph daniel
    [2] => project aadhar
)

$matches[1] будет содержать имя, а затем вы можете взорваться илииспользуйте другой preg_match $matches[2], чтобы черри выбрать ресурс тип , например, проект, событие и т. д. (вам потребуется составленный список типов ресурсов).У меня недостаточно информации о типах ресурсов, например, могут ли они состоять из нескольких слов, поэтому это все, что я могу вам дать.

0 голосов
/ 09 сентября 2011

Я уверен, что есть еще один вопрос - например, у вас есть варианты предложения?в противном случае это сработает:

$sentence = "joseph daniel commented on project aadhar";
$first = substr($sentence, 0, 13);
$second = substr($sentence, 14, 12);
$third = substr($sentence, 27, -1);

Вам нужно включить другие примеры слов, если вы хотите получить лучший ответ

...