2012-06-08 1 views
-5

Я пытаюсь взорваться строку, которая уже не определены в части четко (т.е. с пробелами или запятыми)PHP взорваться, где нет пространства и т.д.

пример строки: FRPARGBASD

Союзная PAR GB ASD все потребности для вставки в качестве отдельных объектов в базу данных.

Как будет идти об этом, пожалуйста,

+7

что логика этого токенизации? Почему не FRP A RGBAS D? –

+1

Вы не можете разделить что-либо, не зная шаблон. Это 2/3/2/3 персонажа? Разделен ли он на контент? – Polynomial

+1

Вы хотите разбить текст на 2 символа - 3 символа - 2 символа - 3 символа и т. Д. ...? – Jeroen

ответ

1

Я предполагаю, что те названия мест «Франция», «Париж», «Великобритания», и т.д ...

Вот один из возможных решений:

$places = array("FR", "PAR", "GB", "ASD"); 
$string = "FRPARGBASD"; 

$tokens = array(); 
while (strlen($string) > 0) { 
    $next_token = ""; 
    $i = 0; 
    while ($next_token == "") { 
     if (substr($string, 0, strlen($places[$i])) == $places[$i]) { 
     $next_token = $places[$i]; 
     } 
    } 
    $tokens[] = $next_token; 
    $string = substr($string, strlen($next_token)); 
} 

var_dump($tokens); 

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

+2

Я не уверен, что это хорошая практика, чтобы догадаться, чего хочет OP, особенно в случае, когда он не прилагал никаких усилий для объяснения. Он создает потенциально неправильные (и, следовательно, бесполезные и беспорядочные) ответы, и пропагандирует идею о том, что людям не нужно давать нам подробные данные, чтобы получить то, что они хотят. – Polynomial

+0

Хотя это предположение не обеспечивает четкого вопроса, я все равно чувствую, что это может быть полезно. Либо строка, которую он хочет использовать для токенизации, состоит из предопределенных подстрок, и в этом случае мой код может помочь найти лучшее решение, или строка состоит из случайных подстрок, и в этом случае мой предложенный код не решит проблему, но, возможно, позволит Меоми подумать о возможном решении иначе, чем при использовании explode(). – ralfe

+0

Возможно, но было бы гораздо разумнее подготовить ответ в порядке упреждения его разъяснения, а затем выбрать, отправлять ли его (или модифицированную версию) на основании его ответа. – Polynomial