2016-02-15 2 views
-1

Привет я искал, чтобы найти точное PHP эквивалент этого кода Javaполучить все вхождение строки между двумя строками в PHP

List<String> strings = Arrays.asList(tempFinalString.replaceAll("^.*?>&", "") 
      .split("<.*?(>&|$)")); 

Это дает массив, который содержит все символы между двумя символами ?> и <

Может ли кто-нибудь помочь мне найти его точный php-эквивалент?

Я искал много, пожалуйста, помогите

ответ

1

Вы можете использовать pregsplit, это в значительной степени то же самое и возвращает список строк.

1

Вы можете использовать регулярное выражение для этого

<?php 
function getInbetweenStrings($start, $end, $str){ 
    $matches = array(); 
    $regex = "/$start([a-zA-Z0-9_]*)$end/"; 
    preg_match_all($regex, $str, $matches); 
    return $matches[1]; 
} 

$str = "<asdfasf?>dsdafs<asfasdfasf?>"; 
$str_arr = getInbetweenStrings('<', '\?>', $str); 

print_r($str_arr); 

The вполне аналогичный вопрос этот один: Get substring between two strings PHP

EDIT

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

$str = "<abcasdfasf>dsdafs<abcsfasdfasf>"; 
$str_arr = getInbetweenStrings('<abc', '>', $str); 

print_r($str_arr); 

Также имейте в виду, что c ode разделит строку, содержащую только определенные символы - [a-zA-Z0-9_].

Рассмотрите возможность изучения регулярного выражения сначала немного.

Cheers!

+0

я проверил свой код, он не работает, его прекрасно работать для '<' and '?>', но не работает для ' ', пожалуйста, помогите, я хочу, чтобы этот тип разделения и фильтрации не для отдельных символов – Mukund