Как извлечь подстроку из повторяющихся строк?

У меня есть определенная проблема. Я получаю данные в строчном формате в PHP. Мне нужно отделить определенные значения от строки. Моя строка выглядит так:

Barcode formatQR_CODEParsed Result TypeURIParsed Resulthttp://www.myurl.co.uk var ga.

Barcode formatQR_CODEParsed Result TypeTEXTParsed ResultMy Coat var ga.

Как вы можете видеть из двух приведенных выше примеров, текст после «Форматирование штрих-кода формата QR_CODEParsed Result Type» и «Parsed Result» меняется. Я попробовал функцию strstr, но это не дает мне желаемого результата, так как слова «Parsed Result» повторяются дважды. Как я могу извлечь ЛЮБОЕ значение/текст, который будет после этого? Как я могу их отделить? Я был бы признателен, если бы кто-то мог гид, поскольку я - новая пчела. благодаря

0
nl ja de
@ Jar.Thanks Jar. Как я могу извлечь «URI» и « myurl.co.uk от первая строка и как я могу извлечь «ТЕКСТ» и «My Coat» из второй строки, указанной выше ?? Спасибо
добавлено автор Bilal Khalid, источник
Дайте нам пример того, что вы хотите ввести и что именно вы хотите получить. Кроме того, вы можете посмотреть функцию preg_match() php.net/manual/ ен/function.preg-match.php
добавлено автор vikingmaster, источник
Отправил свой ответ за использование RegExp.
добавлено автор vikingmaster, источник

4 ответы

просто пройдите по струнам, пока не найдете первое различие. Не проблема?

$str1 = "Hello World";
$str2 = "Hello Earth";

for($i=0; $

или что-то типа того. Затем вы можете использовать substr, чтобы удалить равную часть.

edit: IF your Strings always have the same Pattern, with values enclosed in you can perfectly use a Regular-Expression to get the values.

0
добавлено
@ dognose. Но как можно получить строку между первой и последней позицией?
добавлено автор Bilal Khalid, источник

The fastest way is to parse this piece of HTML code with SimpleXML and get children's values.

0
добавлено

Я нашел решение. Мы можем извлечь строки следующим образом:

<?
  $mycode='Barcode formatQR_CODEParsed Result TypeURIParsed Resulthttp://www.myurl.co.uk var ga';
   $needle = 'Parsed Result';
   $chunk=explode($needle,$mycode);                                                            

  $mychunky= $chunk[2];

        $needle = 'var ga';
 $result = substr($mychunky, 0, strpos($mychunky, $needle));

 print($result);
?>
0
добавлено

Это должно сработать для вас. Кроме того, вы можете расширить эту идею и развивать свои собственные потребности.

$string = "Barcode formatQR_CODEParsed Result TypeURIParsed Resulthttp://www.myurl.co.uk var ga." ;
$matches = array() ;
$pattern = "/Type([A-Z]+)Parsed Result([^>]+) var ga./" ;

preg_match($pattern, $string, $matches) ;//Returns boolean, but we need matches.

Затем получим вхождения:

$matches[0] ;//The whole occurence
$matches[1] ;//Type - "([A-Z]+)"
$matches[2] ;//Result - "([^>]+)"

Таким образом, вы используете элементы с индексами 1 и 2 как Тип и Результат соответственно. Надеюсь, это поможет.

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp