базовое разделение строк в php

0

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

$var1=1234;
$var2=5678;

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

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

Теги:
string

4 ответа

1
Лучший ответ
$string = "1234and5678";
list($before, $after) = explode("and", $string);

Это разделяет строку на две переменные, основанные на делителе ("и"), независимо от того, что до и сохраняется в переменной с именем $before, все, что после этого сохраняется в переменной с именем $after

0

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

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

Используйте split http://php.net/manual/en/function.split.php с разделителем "и". Это должно дать вам массив с двумя числами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню