У меня вопрос по поводу нахождения символов (в моем случае - цифр) только в середине или в начале строки.
Я работаю с 10-значными номерами телефонов в США, и я хотел бы сохранить код города и префикс номера телефона в двух отдельных переменных. Пока я просто повторяю их, потому что не могу заставить его работать правильно, но позже я буду искать в базе данных, используя переменные, чтобы определить поставщика телефонных услуг.
Мне нужно иметь возможность вырезать и вставлять список телефонных номеров, не вводя их все. Я использую текстовую область для этого, и вот что у меня сейчас:
<?php
if (isset($_POST['submit'])) {
$fullnumber = trim($_POST['numbers']);
$onenumber = explode("\n", $fullnumber);
foreach ($onenumber as $line) {
$area = substr("$line", 0, -7); // returns the first three numbers of the phone number
$prefix = substr("$line", 3, -4); // returns the 3rd, 4th and 5th digit of the phone number
echo "Area code: " .$area;
echo "<br />";
echo "Prefix: " .$prefix;
echo "<br />";
}
}
else
{
?>
<html>
<head>
<title>Phone Verification</title>
</head>
<body>
<br />
<form method="post" action="<?php echo $PHP_SELF;?>">
Enter Phone Numbers:<br />
<textarea rows="20" cols="10" name="numbers" wrap="physical"></textarea>
<input type="submit" value="submit" name="submit">
</form>
<?php
}
?>
То, что происходит, состоит в том, что телефонные номера будут иметь 4-значный код города и 4-значный префикс, за исключением последнего, который будет отображаться правильно с 3 цифрами для кода города и префикса.
Что я делаю не так?