2014-09-23 2 views
0

Я пытаюсь разбить строку по ключевому слову "http://".PHP: как разбить строку на ключевое слово

explode("http://", $input); 

Это не работает для меня, потому что это не только расколоть $input но также удаляет "http://" из строки, которые я не хочу, чтобы это произошло.

Каков наиболее эффективный и быстрый способ сделать это? Я пока не нашел никакой функции для этого.

+2

Где находятся тестовые чеки? и попытка ?, Каков контекст этого в любом случае – Ghost

+0

что вы имеете в виду тестовые случаи? 'explode (" http: // "," http: //1.1http: //2.2 ");' дает мне '1.1' и' 2.2', я хочу получить 'http: // 1.1' и' http: // 2.2' было ли это действительно недостаточно ясно? – dimitris93

+3

[** is-there-way-to-keep-delimiter-while-use-php-explode-or-other-like-function **] (http://stackoverflow.com/questions/2938137/is-there -there-to-keep-delimiter-while-use-php-explode-or-like-like-function) – mithunsatheesh

ответ

1

Немного regex lookahead должен сделать это:

<?php 

$input = "The address is http://stackoverflow.com/"; 
$parts = preg_split('@(?=http://)@', $input); 
var_dump($parts); 

Это выведет:

array(2) { 
    [0]=> 
    string(14) "The address is" 
    [1]=> 
    string(25) "http://stackoverflow.com/" 
} 

Надежда, что помогает!

+0

действительно помогает, спасибо большое – dimitris93

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