2013-07-01 3 views
0

У меня есть большая строка в моем коде. Моя цель - извлечь часть (довольно мало) этой строки в зависимости от разделителя начала и конца.Функция взрыва Php может вызвать перегрузку

На самом деле я делаю так:

$string = "...."; 
$parts = explode($startDel, $string); 
$parts = explode($endDel, $parts[1]); 
$finalStr = $parts[0]; 

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

Спасибо большое, свиданья

+0

Как насчет функций регулярного выражения? –

+0

Спасибо за ответ. Я не очень праведный с регулярным выражением, у вас есть пример, связанный с моей целью? – user2540463

ответ

0

Вы можете использовать третий параметр explode, чтобы убедиться, что он будет создавать только два элемента, без поиска разделителем в остальной части строки.

Однако это выглядит как отличная задача для простых strpos и substr. Пример функции, которая реализует это:

function str_extract($string, $start = '[', $end = ']', $offset = 0) { 
    $pos_start = strpos($string, $start, $offset) + strlen($start); 
    $pos_end = strpos($string, $end, $pos_start); 
    return substr($string, $pos_start, $pos_end - $pos_start); 
} 
+0

Большое спасибо за хороший подход – user2540463

Смежные вопросы