2014-11-08 2 views
0

У меня есть алфавитно-цифровая строка, например 1234and5678. Я хочу сохранить число предшествовавших and т.е. 1234 в одной переменной, а число после and т.е. 5678 в другой переменной, как показано ниже:базовое разделение строк в php

$var1=1234; 
$var2=5678; 

также то, что следует делать, если я заменить and некоторыми случайными специальные символы, такие как #$% и т.д.

Не могли бы вы помочь мне? Спасибо заранее.

+0

Я отредактировал свой ответ в соответствии с вашими изменениями – bigbobr

+0

Благодарю всех вас за ваши предложения ... мне это очень помогло! :) –

ответ

1
$string = "1234and5678"; 
list($before, $after) = explode("and", $string); 

Это разбивает строку на две переменные на основе разделители («и»), что бы ни раньше, и сохраняется в переменной с именем $before, все, что после того, как сохраняется в переменную под названием $after

0

вы можете использовать preg_split() функцию, в вашем случае: $var = preg_split("/[\D]+/", "1234and5678"); Это дает вам $var[0] = '1234' и $var[1] = '5678'

Согласно вам редактировать, вы можете:

  1. заменить регулярное выражение на любой другие, что вам нужно (например, $var = preg_split("/[\d]+/", "1234and5678"); для любого нечислового элемента)
  2. использования preg_match_all("/(\d+)/","1234and5678", $var) найти любые числа в строке
0

Используйте регулярные выражения. Я предоставил ссылку для регулярных выражений в php. Сплит устарел с версии 5.3.0, и вы не должны полагаться на него. Perl compatible regular expressions

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